From 8c35011d0aa242e9f6271d3a66ae6924d52bbed6 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Wed, 24 Jul 2024 15:16:51 +1000 Subject: [PATCH] [CLI] Only generate files if contents change. (#24038) Don't overwrite if the content doesn't change. --- lib/python/qmk/commands.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py index 3db8353bfd..df6ed6b88a 100644 --- a/lib/python/qmk/commands.py +++ b/lib/python/qmk/commands.py @@ -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')