[OE-core] [PATCH] combo-tool: simply branch/commit validation logic

Ross Burton ross.burton at intel.com
Mon Nov 18 17:39:29 UTC 2013


Simply the branch/revision logic by using git-merge-base.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 scripts/combo-layer |   13 ++-----------
 1 file changed, 2 insertions(+), 11 deletions(-)

diff --git a/scripts/combo-layer b/scripts/combo-layer
index ae97471..2c8ba07 100755
--- a/scripts/combo-layer
+++ b/scripts/combo-layer
@@ -283,23 +283,14 @@ def drop_to_shell(workdir=None):
 
 def check_rev_branch(component, repodir, rev, branch):
     try:
-        actualbranch = runcmd("git branch --contains %s" % rev, repodir, printerr=False)
+        mergepoint = runcmd("git merge-base %s %s" % (rev, branch), repodir, printerr=False).rstrip()
     except subprocess.CalledProcessError as e:
         if e.returncode == 129:
             actualbranch = ""
         else:
             raise
 
-    if not actualbranch:
-        logger.error("%s: specified revision %s is invalid!" % (component, rev))
-        return False
-
-    branches = []
-    branchlist = actualbranch.split("\n")
-    for b in branchlist:
-        branches.append(b.strip().split(' ')[-1])
-
-    if branch not in branches:
+    if mergepoint != rev:
         logger.error("%s: specified revision %s is not on specified branch %s!" % (component, rev, branch))
         return False
     return True
-- 
1.7.10.4




More information about the Openembedded-core mailing list