tools: moveconfig: report when defconfig is updated
There are various factors that determine if the given defconfig is
updated, and it is probably what users are more interested in.
Show the log when the defconfig is updated. Also, copy the file
only when the file content was really updated to avoid changing
the time stamp needlessly.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Joe Hershberger <joe.hershberger@ni.com>
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 4881ec5..a8531f1 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -147,6 +147,7 @@
"""
+import filecmp
import fnmatch
import multiprocessing
import optparse
@@ -685,9 +686,16 @@
if self.state == STATE_SAVEDEFCONFIG:
self.log += self.parser.check_defconfig()
- if not self.options.dry_run:
- shutil.move(os.path.join(self.build_dir, 'defconfig'),
- os.path.join('configs', self.defconfig))
+ orig_defconfig = os.path.join('configs', self.defconfig)
+ new_defconfig = os.path.join(self.build_dir, 'defconfig')
+ updated = not filecmp.cmp(orig_defconfig, new_defconfig)
+
+ if updated:
+ self.log += color_text(self.options.color, COLOR_LIGHT_GREEN,
+ "defconfig was updated.\n")
+
+ if not self.options.dry_run and updated:
+ shutil.move(new_defconfig, orig_defconfig)
self.finish(True)
return True