summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-30 20:39:58 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-08-31 19:37:08 +0100
commit8540c09d4e509e3277940464c71174d8a0aca6ab (patch)
tree059b5f923fcd5f11e29f6b7f08a1959b968b8ab9
parent30eaef7f50fff855cf8830772a7088dd83a4240e (diff)
downloadbitbake-8540c09d4e509e3277940464c71174d8a0aca6ab.tar.gz
bitbake/fetch2/git: Ensure .gitconfig file is ignored
If a user has a ~/.gitconfig file, git fetch --all will reference it. To avoid this we should run git fetch with an explicit url telling it to fetch all references (which includes tags). I'm assured this means git won't reference the file, see the discussion on the git mailing list (subject Overriding ~/.gitconfig using GIT_CONFIG). [YOCTO #1134] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/fetch2/git.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/bb/fetch2/git.py b/lib/bb/fetch2/git.py
index 97bf0865a..ff7c33df1 100644
--- a/lib/bb/fetch2/git.py
+++ b/lib/bb/fetch2/git.py
@@ -168,10 +168,11 @@ class Git(FetchMethod):
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (ud.fullmirror), d)
+ repourl = "%s://%s%s%s" % (ud.proto, username, ud.host, ud.path)
+
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
- clone_cmd = "%s clone --bare --mirror %s://%s%s%s %s" % \
- (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir)
+ clone_cmd = "%s clone --bare --mirror %s %s" % (ud.basecmd, repourl, ud.clonedir)
bb.fetch2.check_network_access(d, clone_cmd)
runfetchcmd(clone_cmd, d)
@@ -187,9 +188,9 @@ class Git(FetchMethod):
runfetchcmd("%s remote rm origin" % ud.basecmd, d)
except bb.fetch2.FetchError:
logger.debug(1, "No Origin")
-
- runfetchcmd("%s remote add --mirror origin %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
- fetch_cmd = "%s fetch --all -t" % ud.basecmd
+
+ runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d)
+ fetch_cmd = "%s fetch --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
runfetchcmd(fetch_cmd, d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)