[U-Boot] [PATCH 2/4] tools: moveconfig: show result of header cleaning in unified diff

Masahiro Yamada yamada.masahiro at socionext.com
Sun Jul 24 16:17:37 CEST 2016


The header cleanup feature of this tool now removes empty ifdef's,
successive blank lines as well as moved option defines.  So, we
want to see a little more context to check which lines were deleted.

It is true that we can see it by "git diff", but it would not work
in the --dry-run mode.  So, here, this commit.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

 tools/moveconfig.py | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index 7d018e4..27bd958 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -161,6 +161,7 @@ To see the complete list of supported options, run
 """
 
 import copy
+import difflib
 import filecmp
 import fnmatch
 import multiprocessing
@@ -395,16 +396,24 @@ def cleanup_one_header(header_path, patterns, dry_run):
         if matched == old_matched:
             break
 
-    for i in matched:
-        print '%s: %s: %s' % (header_path, i + 1, lines[i]),
+    tolines = copy.copy(lines)
+
+    for i in reversed(matched):
+        tolines.pop(i)
+
+    diff = difflib.unified_diff(lines, tolines,
+                                fromfile=os.path.join('a', header_path),
+                                tofile=os.path.join('b', header_path))
+
+    for line in diff:
+        print line,
 
     if dry_run:
         return
 
     with open(header_path, 'w') as f:
-        for i, line in enumerate(lines):
-            if not i in matched:
-                f.write(line)
+        for line in tolines:
+            f.write(line)
 
 def cleanup_headers(configs, dry_run):
     """Delete config defines from board headers.
-- 
1.9.1



More information about the U-Boot mailing list