summary refs log tree commit diff
diff options
context:
space:
mode:
authoryukang <moorekang@gmail.com>2022-12-29 23:38:46 +0800
committeryukang <moorekang@gmail.com>2022-12-30 00:00:08 +0800
commit7ebcc786b829cf96e1eeeb6e1a1c01b74832b940 (patch)
treedb37c88818db27c8b8bd3d6904baf49bfac859ce
parent0c0b403f19fc6febcd1e36a83fc307ecc11de943 (diff)
downloadrust-7ebcc786b829cf96e1eeeb6e1a1c01b74832b940.tar.gz
rust-7ebcc786b829cf96e1eeeb6e1a1c01b74832b940.zip
fix #106261, formater should not try to format non-Rust files
-rw-r--r--src/bootstrap/format.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/bootstrap/format.rs b/src/bootstrap/format.rs
index b49322e3c02..1d57c6ecbbb 100644
--- a/src/bootstrap/format.rs
+++ b/src/bootstrap/format.rs
@@ -74,11 +74,11 @@ fn update_rustfmt_version(build: &Builder<'_>) {
     t!(std::fs::write(stamp_file, version))
 }
 
-/// Returns the files modified between the `merge-base` of HEAD and
+/// Returns the Rust files modified between the `merge-base` of HEAD and
 /// rust-lang/master and what is now on the disk.
 ///
 /// Returns `None` if all files should be formatted.
-fn get_modified_files(build: &Builder<'_>) -> Option<Vec<String>> {
+fn get_modified_rs_files(build: &Builder<'_>) -> Option<Vec<String>> {
     let Ok(remote) = get_rust_lang_rust_remote() else {return None;};
     if !verify_rustfmt_version(build) {
         return None;
@@ -95,6 +95,7 @@ fn get_modified_files(build: &Builder<'_>) -> Option<Vec<String>> {
         )
         .lines()
         .map(|s| s.trim().to_owned())
+        .filter(|f| Path::new(f).extension().map_or(false, |ext| ext == "rs"))
         .collect(),
     )
 }
@@ -195,7 +196,7 @@ pub fn format(build: &Builder<'_>, check: bool, paths: &[PathBuf]) {
                 ignore_fmt.add(&format!("!/{}", untracked_path)).expect(&untracked_path);
             }
             if !check && paths.is_empty() {
-                if let Some(files) = get_modified_files(build) {
+                if let Some(files) = get_modified_rs_files(build) {
                     for file in files {
                         println!("formatting modified file {file}");
                         ignore_fmt.add(&format!("/{file}")).expect(&file);