On 2013-11-18 10:39, Ross Burton wrote:
Simply the branch/revision logic by using git-merge-base.

Did you mean 'simplify'?


Signed-off-by: Ross Burton <[email protected]>
---
  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


--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to