Browse Source

scripts/combo-layer: skip empty commits

If a commit is empty (for example, commits brought over from svn where
only properties were changed) then attempting to apply it with "git am"
will result in the error "Patch format detection failed", so skip it
instead.

(From OE-Core rev: 5754bc7bcc2f57b6b56e67e2900eeaab5bc184d8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton 13 năm trước cách đây
mục cha
commit
ba5537d768
1 tập tin đã thay đổi với 15 bổ sung12 xóa
  1. 15 12
      scripts/combo-layer

+ 15 - 12
scripts/combo-layer

@@ -252,18 +252,21 @@ def action_apply_patch(conf, args):
         for line in open(repo['patchlist']):
             patchfile = line.split()[0]
             lastrev = line.split()[1]
-            cmd = "git am --keep-cr -s -p1 %s" % patchfile
-            logger.info("Apply %s" % patchfile )
-            try:
-                runcmd(cmd)
-            except subprocess.CalledProcessError:
-                logger.info('running "git am --abort" to cleanup repo')
-                runcmd("git am --abort")
-                logger.error('"%s" failed' % cmd)
-                logger.info("please manually apply patch %s" % patchfile)
-                logger.info("After applying, run this tool again to apply the remaining patches")
-                conf.update(name, "last_revision", lastrev)
-                sys.exit(0)
+            if os.path.getsize(patchfile) == 0:
+                logger.info("(skipping %s - no changes)", lastrev)
+            else:
+                cmd = "git am --keep-cr -s -p1 %s" % patchfile
+                logger.info("Apply %s" % patchfile )
+                try:
+                    runcmd(cmd)
+                except subprocess.CalledProcessError:
+                    logger.info('running "git am --abort" to cleanup repo')
+                    runcmd("git am --abort")
+                    logger.error('"%s" failed' % cmd)
+                    logger.info("please manually apply patch %s" % patchfile)
+                    logger.info("After applying, run this tool again to apply the remaining patches")
+                    conf.update(name, "last_revision", lastrev)
+                    sys.exit(0)
         conf.update(name, "last_revision", lastrev)
 
 def action_splitpatch(conf, args):