]> git.pld-linux.org Git - packages/rpm-build-tools.git/commitdiff
Generate diffstat for each patch, so it's easier to compare if rediff is not broken.
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Wed, 24 Feb 2021 12:13:34 +0000 (13:13 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Wed, 24 Feb 2021 12:13:34 +0000 (13:13 +0100)
rediff-patches.py

index ca7a0a8fe2249a62b1d97d9457284b2e21ea7b59..caac7d1d668340dc1a5aa0ece951b9e138cebe38 100755 (executable)
@@ -58,6 +58,17 @@ def diff(diffdir_org, diffdir, builddir, output):
                 raise
     logging.info("rediff generated as %s" % output)
 
+def diffstat(patch):
+    cmd = [ 'diffstat', patch ]
+    logging.info("running diffstat for: %s" % patch)
+    try:
+        subprocess.check_call(cmd, stdout=sys.stdout, stderr=sys.stderr,
+                              env={'LC_ALL': 'C.UTF-8'}, timeout=60)
+    except subprocess.CalledProcessError as err:
+        logging.error("running diffstat failed: %s" % err)
+    except FileNotFoundError as err:
+        logging.error("running diffstat failed: %s, install diffstat package?" % err)
+
 def main():
     parser = parser = argparse.ArgumentParser(description='rediff patches to avoid fuzzy hunks')
     parser.add_argument('spec', type=str, help='spec file name')
@@ -121,6 +132,9 @@ def main():
 
         diff(appbuilddir + ".org", appbuilddir, builddir, os.path.join(topdir, os.path.join(appsourcedir, patch_name + ".rediff")))
 
+        diffstat(os.path.join(topdir, os.path.join(appsourcedir, patch_name)))
+        diffstat(os.path.join(topdir, os.path.join(appsourcedir, patch_name + ".rediff")))
+
         shutil.rmtree(builddir)
     tempdir.cleanup()
 
This page took 0.030862 seconds and 4 git commands to generate.