1
Fork 0

slightly correct comments and diagnostics about checking modifications

I feel like they are still wrong, but maybe less so .-.

The `info:` was unhelpful -- we only use upstream in CI nowdays.
This commit is contained in:
Waffle Lapkin 2025-04-15 14:06:51 +02:00
parent 52f4b16075
commit dda4d7bc44
No known key found for this signature in database
2 changed files with 13 additions and 10 deletions

View file

@ -85,11 +85,15 @@ fn update_rustfmt_version(build: &Builder<'_>) {
t!(stamp_file.add_stamp(version).write()); t!(stamp_file.add_stamp(version).write());
} }
/// Returns the Rust files modified between the `merge-base` of HEAD and /// Returns the Rust files modified between the last merge commit and what is now on the disk.
/// rust-lang/master and what is now on the disk. Does not include removed files. /// Does not include removed files.
/// ///
/// Returns `None` if all files should be formatted. /// Returns `None` if all files should be formatted.
fn get_modified_rs_files(build: &Builder<'_>) -> Result<Option<Vec<String>>, String> { fn get_modified_rs_files(build: &Builder<'_>) -> Result<Option<Vec<String>>, String> {
// In CI `get_git_modified_files` returns something different to normal environment.
// This shouldn't be called in CI anyway.
assert!(!build.config.is_running_on_ci);
if !verify_rustfmt_version(build) { if !verify_rustfmt_version(build) {
return Ok(None); return Ok(None);
} }
@ -104,7 +108,7 @@ struct RustfmtConfig {
// Prints output describing a collection of paths, with lines such as "formatted modified file // Prints output describing a collection of paths, with lines such as "formatted modified file
// foo/bar/baz" or "skipped 20 untracked files". // foo/bar/baz" or "skipped 20 untracked files".
fn print_paths(build: &Builder<'_>, verb: &str, adjective: Option<&str>, paths: &[String]) { fn print_paths(verb: &str, adjective: Option<&str>, paths: &[String]) {
let len = paths.len(); let len = paths.len();
let adjective = let adjective =
if let Some(adjective) = adjective { format!("{adjective} ") } else { String::new() }; if let Some(adjective) = adjective { format!("{adjective} ") } else { String::new() };
@ -115,9 +119,6 @@ fn print_paths(build: &Builder<'_>, verb: &str, adjective: Option<&str>, paths:
} else { } else {
println!("fmt: {verb} {len} {adjective}files"); println!("fmt: {verb} {len} {adjective}files");
} }
if len > 1000 && !build.config.is_running_on_ci {
println!("hint: if this number seems too high, try running `git fetch origin master`");
}
} }
pub fn format(build: &Builder<'_>, check: bool, all: bool, paths: &[PathBuf]) { pub fn format(build: &Builder<'_>, check: bool, all: bool, paths: &[PathBuf]) {
@ -190,7 +191,7 @@ pub fn format(build: &Builder<'_>, check: bool, all: bool, paths: &[PathBuf]) {
) )
.map(|x| x.to_string()) .map(|x| x.to_string())
.collect(); .collect();
print_paths(build, "skipped", Some("untracked"), &untracked_paths); print_paths("skipped", Some("untracked"), &untracked_paths);
for untracked_path in untracked_paths { for untracked_path in untracked_paths {
// The leading `/` makes it an exact match against the // The leading `/` makes it an exact match against the
@ -319,7 +320,7 @@ pub fn format(build: &Builder<'_>, check: bool, all: bool, paths: &[PathBuf]) {
}); });
let mut paths = formatted_paths.into_inner().unwrap(); let mut paths = formatted_paths.into_inner().unwrap();
paths.sort(); paths.sort();
print_paths(build, if check { "checked" } else { "formatted" }, adjective, &paths); print_paths(if check { "checked" } else { "formatted" }, adjective, &paths);
drop(tx); drop(tx);

View file

@ -114,7 +114,9 @@ fn git_upstream_merge_base(
Ok(output_result(git.arg("merge-base").arg(&updated_master).arg("HEAD"))?.trim().to_owned()) Ok(output_result(git.arg("merge-base").arg(&updated_master).arg("HEAD"))?.trim().to_owned())
} }
/// Searches for the nearest merge commit in the repository that also exists upstream. /// Searches for the nearest merge commit in the repository.
///
/// **In CI** finds the nearest merge commit that *also exists upstream*.
/// ///
/// It looks for the most recent commit made by the merge bot by matching the author's email /// It looks for the most recent commit made by the merge bot by matching the author's email
/// address with the merge bot's email. /// address with the merge bot's email.
@ -165,7 +167,7 @@ pub fn get_closest_merge_commit(
Ok(output_result(&mut git)?.trim().to_owned()) Ok(output_result(&mut git)?.trim().to_owned())
} }
/// Returns the files that have been modified in the current branch compared to the master branch. /// Returns the files that have been modified in the current branch compared to the last merge.
/// The `extensions` parameter can be used to filter the files by their extension. /// The `extensions` parameter can be used to filter the files by their extension.
/// Does not include removed files. /// Does not include removed files.
/// If `extensions` is empty, all files will be returned. /// If `extensions` is empty, all files will be returned.