Skip to content

Commit 11580b7

Browse files
Make exclude and paths relative to root of checkout
1 parent 8c506f9 commit 11580b7

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/bootstrap/flags.rs

+10-7
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,12 @@ Arguments:
275275
};
276276
// Get any optional paths which occur after the subcommand
277277
let cwd = t!(env::current_dir());
278-
let paths = matches.free[1..].iter().map(|p| cwd.join(p)).collect::<Vec<_>>();
278+
let src = matches.opt_str("src").map(PathBuf::from)
279+
.or_else(|| env::var_os("SRC").map(PathBuf::from))
280+
.unwrap_or(cwd.clone());
281+
let paths = matches.free[1..].iter().map(|p| {
282+
cwd.join(p).strip_prefix(&src).expect("paths passed to be inside checkout").into()
283+
}).collect::<Vec<PathBuf>>();
279284

280285
let cfg_file = matches.opt_str("config").map(PathBuf::from).or_else(|| {
281286
if fs::metadata("config.toml").is_ok() {
@@ -360,10 +365,6 @@ Arguments:
360365
stage = Some(1);
361366
}
362367

363-
let src = matches.opt_str("src").map(PathBuf::from)
364-
.or_else(|| env::var_os("SRC").map(PathBuf::from))
365-
.unwrap_or(cwd.clone());
366-
367368
Flags {
368369
verbose: matches.opt_count("verbose"),
369370
stage,
@@ -375,12 +376,14 @@ Arguments:
375376
target: split(matches.opt_strs("target"))
376377
.into_iter().map(|x| INTERNER.intern_string(x)).collect::<Vec<_>>(),
377378
config: cfg_file,
378-
src,
379379
jobs: matches.opt_str("jobs").map(|j| j.parse().unwrap()),
380380
cmd,
381381
incremental: matches.opt_present("incremental"),
382382
exclude: split(matches.opt_strs("exclude"))
383-
.into_iter().map(|p| cwd.join(p)).collect::<Vec<_>>(),
383+
.into_iter().map(|p| {
384+
cwd.join(p).strip_prefix(&src).expect("paths to be inside checkout").into()
385+
}).collect::<Vec<_>>(),
386+
src,
384387
}
385388
}
386389
}

0 commit comments

Comments
 (0)