[CLI] Only generate files if contents change. (#24038)
Don't overwrite if the content doesn't change.
This commit is contained in:
parent
8c5acdea12
commit
8c35011d0a
1 changed files with 6 additions and 0 deletions
|
@ -101,6 +101,12 @@ def dump_lines(output_file, lines, quiet=True):
|
|||
if output_file and output_file.name != '-':
|
||||
output_file.parent.mkdir(parents=True, exist_ok=True)
|
||||
if output_file.exists():
|
||||
with open(output_file, 'r', encoding='utf-8', newline='\n') as f:
|
||||
existing = f.read()
|
||||
if existing == generated:
|
||||
if not quiet:
|
||||
cli.log.info(f'No changes to {output_file.name}.')
|
||||
return
|
||||
output_file.replace(output_file.parent / (output_file.name + '.bak'))
|
||||
output_file.write_text(generated, encoding='utf-8')
|
||||
|
||||
|
|
Loading…
Reference in a new issue