mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
Auto merge of #105217 - jyn514:submodule-fixes, r=bjorn3
Don't exit with an error if there are no changes to submodules Fixes https://github.com/rust-lang/rust/issues/105215, which regressed in https://github.com/rust-lang/rust/pull/104865.
This commit is contained in:
commit
2a39e45afb
@ -647,10 +647,23 @@ impl Build {
|
||||
if !update(true).status().map_or(false, |status| status.success()) {
|
||||
self.run(&mut update(false));
|
||||
}
|
||||
self.run(Command::new("git").args(&["stash", "push"]).current_dir(&absolute_path));
|
||||
|
||||
// Save any local changes, but avoid running `git stash pop` if there are none (since it will exit with an error).
|
||||
let has_local_modifications = !self.try_run(
|
||||
Command::new("git")
|
||||
.args(&["diff-index", "--quiet", "HEAD"])
|
||||
.current_dir(&absolute_path),
|
||||
);
|
||||
if has_local_modifications {
|
||||
self.run(Command::new("git").args(&["stash", "push"]).current_dir(&absolute_path));
|
||||
}
|
||||
|
||||
self.run(Command::new("git").args(&["reset", "-q", "--hard"]).current_dir(&absolute_path));
|
||||
self.run(Command::new("git").args(&["clean", "-qdfx"]).current_dir(&absolute_path));
|
||||
self.run(Command::new("git").args(&["stash", "pop"]).current_dir(absolute_path));
|
||||
|
||||
if has_local_modifications {
|
||||
self.run(Command::new("git").args(&["stash", "pop"]).current_dir(absolute_path));
|
||||
}
|
||||
}
|
||||
|
||||
/// If any submodule has been initialized already, sync it unconditionally.
|
||||
|
Loading…
Reference in New Issue
Block a user