diff options
| author | Nick Cameron <nrc@ncameron.org> | 2017-06-07 10:05:36 +1200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-06-07 10:05:36 +1200 |
| commit | c879d5ebd719875cf99bda55e577df07b28f6ea6 (patch) | |
| tree | c3a068bf4430acc450ad06f8aab1e65eacc02cda | |
| parent | 76ec18b6e9cfd8dc810a0b606075cc4a0be62581 (diff) | |
| parent | a64037d0f07f4ac6eeb284d6dcfa362542b07dae (diff) | |
Merge pull request #1640 from topecongiro/issue-1632
Do not overwrite files when there are no diffs in Overwrite mode
| -rw-r--r-- | src/filemap.rs | 9 |
1 files 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 @@ pub fn write_file<T>(text: &StringBuffer, } } 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)?; |
