Skip to content

Commit 5bcf07d

Browse files
committed
stateConfig: add original_root_dir to store non redirected root dir
1 parent 882dcd6 commit 5bcf07d

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/client/opamClientConfig.mli

+1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,7 @@ val opam_init:
120120
?assume_depexts:bool ->
121121
?cli:OpamCLIVersion.t ->
122122
?scrubbed_environment_variables:string list ->
123+
?original_root_dir:OpamTypes.dirname ->
123124
?current_switch:OpamSwitch.t ->
124125
?switch_from:OpamStateTypes.provenance ->
125126
?jobs:int Lazy.t ->

src/state/opamStateConfig.ml

+6
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ end
5353

5454
type t = {
5555
root_dir: OpamFilename.Dir.t;
56+
original_root_dir: OpamFilename.Dir.t;
5657
current_switch: OpamSwitch.t option;
5758
switch_from: provenance;
5859
jobs: int Lazy.t;
@@ -87,6 +88,7 @@ let default = {
8788
in
8889
concat_and_resolve local_appdata "opam"
8990
);
91+
original_root_dir = default_root ();
9092
current_switch = None;
9193
switch_from = `Default;
9294
jobs = lazy (max 1 (OpamSysPoll.cores () - 1));
@@ -109,6 +111,7 @@ let default = {
109111

110112
type 'a options_fun =
111113
?root_dir:OpamFilename.Dir.t ->
114+
?original_root_dir:OpamFilename.Dir.t ->
112115
?current_switch:OpamSwitch.t ->
113116
?switch_from:provenance ->
114117
?jobs:(int Lazy.t) ->
@@ -127,6 +130,7 @@ type 'a options_fun =
127130

128131
let setk k t
129132
?root_dir
133+
?original_root_dir
130134
?current_switch
131135
?switch_from
132136
?jobs
@@ -145,6 +149,7 @@ let setk k t
145149
let (+) x opt = match opt with Some x -> x | None -> x in
146150
k {
147151
root_dir = t.root_dir + root_dir;
152+
original_root_dir = t.original_root_dir + original_root_dir;
148153
current_switch =
149154
(match current_switch with None -> t.current_switch | s -> s);
150155
switch_from = t.switch_from + switch_from;
@@ -177,6 +182,7 @@ let initk k =
177182
in
178183
setk (setk (fun c -> r := c; k)) !r
179184
?root_dir:(E.root () >>| OpamFilename.Dir.of_string)
185+
?original_root_dir:(E.root () >>| OpamFilename.Dir.of_string)
180186
?current_switch
181187
?switch_from
182188
?jobs:(E.jobs () >>| fun s -> lazy s)

src/state/opamStateConfig.mli

+2
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ end
3838

3939
type t = private {
4040
root_dir: OpamFilename.Dir.t;
41+
original_root_dir: OpamFilename.Dir.t;
4142
current_switch: OpamSwitch.t option;
4243
switch_from: provenance;
4344
jobs: int Lazy.t;
@@ -56,6 +57,7 @@ type t = private {
5657

5758
type 'a options_fun =
5859
?root_dir:OpamFilename.Dir.t ->
60+
?original_root_dir:OpamFilename.Dir.t ->
5961
?current_switch:OpamSwitch.t ->
6062
?switch_from:provenance ->
6163
?jobs:(int Lazy.t) ->

0 commit comments

Comments
 (0)