From a64037d0f07f4ac6eeb284d6dcfa362542b07dae Mon Sep 17 00:00:00 2001 From: topecongiro Date: Tue, 6 Jun 2017 15:33:46 +0900 Subject: [PATCH] Do not overwrite files when there are no diffs in Overwrite mode --- src/filemap.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/filemap.rs b/src/filemap.rs index aa3ae8537af..82e8c3e50ae 100644 --- a/src/filemap.rs +++ b/src/filemap.rs @@ -128,9 +128,12 @@ fn create_diff(filename: &str, } } WriteMode::Overwrite => { - // Write text directly over original file. - let file = File::create(filename)?; - write_system_newlines(file, text, config)?; + // Write text directly over original file if there is a diff. + let (source, formatted) = source_and_formatted_text(text, filename, config)?; + if source != formatted { + let file = File::create(filename)?; + write_system_newlines(file, text, config)?; + } } WriteMode::Plain => { write_system_newlines(out, text, config)?; -- 2.44.0