All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] git: Use git branch for ancestor checks
@ 2013-11-19 13:20 Richard Purdie
  0 siblings, 0 replies; only message in thread
From: Richard Purdie @ 2013-11-19 13:20 UTC (permalink / raw)
  To: bitbake-devel

Using git merge-base for checking for ancestors is nice but required git 1.8.0
which is not in many distrbutions yet. We therefore revert to a more ugly
check using git branch --contains until such times as we can upgrade.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 99230c1..a901a44 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -283,12 +283,14 @@ class Git(FetchMethod):
 
     def _contains_ref(self, tag, branch, d):
         basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
-        cmd = "%s merge-base --is-ancestorlog %s %s" % (basecmd, tag, branch)
+        cmd =  "%s branch --contains %s --list %s 2> /dev/null | wc -l" % (basecmd, tag, branch)
         try:
             output = runfetchcmd(cmd, d, quiet=True)
         except bb.fetch2.FetchError:
             return False
-        return True
+        if len(output.split()) > 1:
+            raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
+        return output.split()[0] != "0"
 
     def _revision_key(self, url, ud, d, name):
         """




^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-11-19 13:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-11-19 13:20 [PATCH] git: Use git branch for ancestor checks Richard Purdie

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.