Show changed files (#7003)

This commit is contained in:
Micha Reiser 2023-08-30 08:47:45 +02:00 committed by GitHub
parent eb2b226142
commit 9c382e8291
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -94,6 +94,8 @@ pub(crate) struct Statistics {
ruff_output: u32, ruff_output: u32,
/// The number of matching identical lines /// The number of matching identical lines
intersection: u32, intersection: u32,
/// Files that have differences
files_with_differences: u32,
} }
impl Statistics { impl Statistics {
@ -104,6 +106,7 @@ impl Statistics {
black_input: 0, black_input: 0,
ruff_output: 0, ruff_output: 0,
intersection, intersection,
files_with_differences: 0,
} }
} else { } else {
// `similar` was too slow (for some files >90% diffing instead of formatting) // `similar` was too slow (for some files >90% diffing instead of formatting)
@ -117,6 +120,7 @@ impl Statistics {
black_input: changes.removals, black_input: changes.removals,
ruff_output: changes.insertions, ruff_output: changes.insertions,
intersection: u32::try_from(input.before.len()).unwrap() - changes.removals, intersection: u32::try_from(input.before.len()).unwrap() - changes.removals,
files_with_differences: 1,
} }
} }
} }
@ -141,6 +145,7 @@ impl Add<Statistics> for Statistics {
black_input: self.black_input + rhs.black_input, black_input: self.black_input + rhs.black_input,
ruff_output: self.ruff_output + rhs.ruff_output, ruff_output: self.ruff_output + rhs.ruff_output,
intersection: self.intersection + rhs.intersection, intersection: self.intersection + rhs.intersection,
files_with_differences: self.files_with_differences + rhs.files_with_differences,
} }
} }
} }
@ -231,10 +236,11 @@ pub(crate) fn main(args: &Args) -> anyhow::Result<ExitCode> {
} }
info!( info!(
parent: None, parent: None,
"Done: {} stability errors, {} files, similarity index {:.5}), took {:.2}s, {} input files contained syntax errors ", "Done: {} stability errors, {} files, similarity index {:.5}), files with differences: {} took {:.2}s, {} input files contained syntax errors ",
error_count, error_count,
result.file_count, result.file_count,
result.statistics.similarity_index(), result.statistics.similarity_index(),
result.statistics.files_with_differences,
result.duration.as_secs_f32(), result.duration.as_secs_f32(),
result.syntax_error_in_input, result.syntax_error_in_input,
); );
@ -336,11 +342,12 @@ fn format_dev_multi_project(
info!( info!(
parent: None, parent: None,
"Finished {}: {} stability errors, {} files, similarity index {:.5}), took {:.2}s, {} input files contained syntax errors ", "Finished {}: {} stability errors, {} files, similarity index {:.5}), files with differences {}, took {:.2}s, {} input files contained syntax errors ",
project_path.display(), project_path.display(),
result.error_count(), result.error_count(),
result.file_count, result.file_count,
result.statistics.similarity_index(), result.statistics.similarity_index(),
result.statistics.files_with_differences,
result.duration.as_secs_f32(), result.duration.as_secs_f32(),
result.syntax_error_in_input, result.syntax_error_in_input,
); );
@ -387,20 +394,22 @@ fn format_dev_multi_project(
let mut stats_file = BufWriter::new(File::create(stats_file)?); let mut stats_file = BufWriter::new(File::create(stats_file)?);
writeln!( writeln!(
stats_file, stats_file,
"| {:<project_col_len$} | similarity index |", "| {:<project_col_len$} | similarity index | total files | changed files |",
"project" "project"
)?; )?;
writeln!( writeln!(
stats_file, stats_file,
"|-{:-<project_col_len$}-|------------------|", "|-{:-<project_col_len$}-|------------------:|------------------:|------------------:|",
"" ""
)?; )?;
for result in results { for result in results {
writeln!( writeln!(
stats_file, stats_file,
"| {:<project_col_len$} | {:.5} |", "| {:<project_col_len$} | {:.5} | {:5} | {:5} |",
result.name, result.name,
result.statistics.similarity_index() result.statistics.similarity_index(),
result.file_count,
result.statistics.files_with_differences
)?; )?;
} }
} }