mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-13 04:26:48 +00:00
Auto merge of #117782 - majaha:tidy_fix, r=onur-ozkan
Fix tidy tripping up on untracked files with special characters in their name Previously, the tidy tool would fault if an untracked file had a space or other special characters in its name. If there was an untracked file "foo bar", it would include the quoting in it's path and split on the first space, giving output like this: `skip untracked path "foo during rustfmt invocations`
This commit is contained in:
commit
beebcdeb6f
@ -142,14 +142,17 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
|
||||
};
|
||||
if in_working_tree {
|
||||
let untracked_paths_output = output(
|
||||
build.config.git().arg("status").arg("--porcelain").arg("--untracked-files=normal"),
|
||||
build
|
||||
.config
|
||||
.git()
|
||||
.arg("status")
|
||||
.arg("--porcelain")
|
||||
.arg("-z")
|
||||
.arg("--untracked-files=normal"),
|
||||
);
|
||||
let untracked_paths = untracked_paths_output.split_terminator('\0').filter_map(
|
||||
|entry| entry.strip_prefix("?? "), // returns None if the prefix doesn't match
|
||||
);
|
||||
let untracked_paths = untracked_paths_output
|
||||
.lines()
|
||||
.filter(|entry| entry.starts_with("??"))
|
||||
.map(|entry| {
|
||||
entry.split(' ').nth(1).expect("every git status entry should list a path")
|
||||
});
|
||||
let mut untracked_count = 0;
|
||||
for untracked_path in untracked_paths {
|
||||
println!("skip untracked path {untracked_path} during rustfmt invocations");
|
||||
|
Loading…
Reference in New Issue
Block a user