[bitbake-devel] [PATCH v2] bitbake: fetch2/git: add nobranch option for SRC_URI to skip SHA validating for branch
Zhenhua Luo
zhenhua.luo at freescale.com
Tue Jan 7 10:45:34 UTC 2014
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.
Signed-off-by: Zhenhua Luo <zhenhua.luo at freescale.com>
---
lib/bb/fetch2/git.py | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index b4b9368..c323309 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:
--
1.8.4.2
More information about the bitbake-devel
mailing list