From 100c8831a56eb1598837ffac78a1bac577f7efd4 Mon Sep 17 00:00:00 2001 From: Zhenhua Luo Date: Tue, 7 Jan 2014 18:45:34 +0800 Subject: bitbake: bitbake: fetch2/git: add nobranch option for SRC_URI to skip SHA validating for branch For rebased git tree, some commits doesn't exist in any branch, and such commits are valid in tag, the change is useful for such case. (Bitbake rev: f594cb9f5a18dd0ab2342f96ffc6dba697b35f65) Signed-off-by: Zhenhua Luo Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/git.py | 11 +++++++++-- 1 file changed, 9 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 b4b9368d14..c323309684 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py @@ -101,6 +101,8 @@ class Git(FetchMethod): ud.rebaseable = ud.parm.get("rebaseable","0") == "1" + ud.nobranch = ud.parm.get("nobranch","0") == "1" + # bareclone implies nocheckout ud.bareclone = ud.parm.get("bareclone","0") == "1" if ud.bareclone: @@ -289,8 +291,13 @@ class Git(FetchMethod): return True def _contains_ref(self, ud, d, name): - cmd = "%s branch --contains %s --list %s 2> /dev/null | wc -l" % ( - ud.basecmd, ud.revisions[name], ud.branches[name]) + cmd = "" + if ud.nobranch: + cmd = "%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % ( + ud.basecmd, ud.revisions[name]) + else: + cmd = "%s branch --contains %s --list %s 2> /dev/null | wc -l" % ( + ud.basecmd, ud.revisions[name], ud.branches[name]) try: output = runfetchcmd(cmd, d, quiet=True) except bb.fetch2.FetchError: -- cgit v1.2.3-54-g00ecf