diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/bb/fetch2/git.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py index b4b9368d1..c32330968 100644 --- a/lib/bb/fetch2/git.py +++ b/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: |