From 9ccfe66074cdacd1f529c241fadd52b5663584fc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 19 Nov 2013 13:08:59 +0000 Subject: bitbake: git: Use git branch for ancestor checks 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. (Bitbake rev: 31467c0afe0346502fcd18bd376f23ea76a27d61) Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/git.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'bitbake/lib/bb/fetch2/git.py') diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index 99230c170a..a901a44f03 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): """ -- cgit v1.2.3-54-g00ecf