summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-10-19 17:17:41 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-10-19 17:17:41 +0100
commit08cec5033020f731d946058ae4ab2b708db7a295 (patch)
tree5218828bcbff0cb1f4c83707ba8b30df79cda671
parent05c8ee60f164bec5a34e432312c0e65e927b40cf (diff)
downloadopenembedded-core-08cec5033020f731d946058ae4ab2b708db7a295.tar.gz
openembedded-core-08cec5033020f731d946058ae4ab2b708db7a295.tar.bz2
openembedded-core-08cec5033020f731d946058ae4ab2b708db7a295.zip
bitbake/fetch/git: Ensure fullclone repositories are fully fetched
The git fetcher was failing to pull in new branches into a git repository mirror tarball as the git fetch command being used didn't add new remote branches. This patch uses "git fetch --all" for fullclones to ensure any new remote branches are cloned correctly. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
-rw-r--r--bitbake/lib/bb/fetch/git.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/bitbake/lib/bb/fetch/git.py b/bitbake/lib/bb/fetch/git.py
index 33e9a95baf..9bd447ff8b 100644
--- a/bitbake/lib/bb/fetch/git.py
+++ b/bitbake/lib/bb/fetch/git.py
@@ -141,7 +141,10 @@ class Git(Fetch):
if not self._contains_ref(ud.tag, d) or 'fullclone' in ud.parm:
# Remove all but the .git directory
runfetchcmd("rm * -Rf", d)
- runfetchcmd("%s fetch %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.branch), d)
+ if 'fullclone' in ud.parm:
+ runfetchcmd("%s fetch --all" % (ud.basecmd), d)
+ else:
+ runfetchcmd("%s fetch %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.branch), d)
runfetchcmd("%s fetch --tags %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)