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:38:28 +0100
commit9958a579e7486a245680094dd43a1bffa8dfb02c (patch)
tree05f58aebe93b9be81b430ebf6ba6c9f6192a435b
parent64327ba9ea1d1cefab1bc35d456da68bc061dcf5 (diff)
downloadpoky-9958a579e7486a245680094dd43a1bffa8dfb02c.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] (Bitbake rev: 8540c09d4e509e3277940464c71174d8a0aca6ab) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/fetch2/git.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index 97bf0865ac..ff7c33df10 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -168,10 +168,11 @@ class Git(FetchMethod):
168 os.chdir(ud.clonedir) 168 os.chdir(ud.clonedir)
169 runfetchcmd("tar -xzf %s" % (ud.fullmirror), d) 169 runfetchcmd("tar -xzf %s" % (ud.fullmirror), d)
170 170
171 repourl = "%s://%s%s%s" % (ud.proto, username, ud.host, ud.path)
172
171 # If the repo still doesn't exist, fallback to cloning it 173 # If the repo still doesn't exist, fallback to cloning it
172 if not os.path.exists(ud.clonedir): 174 if not os.path.exists(ud.clonedir):
173 clone_cmd = "%s clone --bare --mirror %s://%s%s%s %s" % \ 175 clone_cmd = "%s clone --bare --mirror %s %s" % (ud.basecmd, repourl, ud.clonedir)
174 (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir)
175 bb.fetch2.check_network_access(d, clone_cmd) 176 bb.fetch2.check_network_access(d, clone_cmd)
176 runfetchcmd(clone_cmd, d) 177 runfetchcmd(clone_cmd, d)
177 178
@@ -187,9 +188,9 @@ class Git(FetchMethod):
187 runfetchcmd("%s remote rm origin" % ud.basecmd, d) 188 runfetchcmd("%s remote rm origin" % ud.basecmd, d)
188 except bb.fetch2.FetchError: 189 except bb.fetch2.FetchError:
189 logger.debug(1, "No Origin") 190 logger.debug(1, "No Origin")
190 191
191 runfetchcmd("%s remote add --mirror origin %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d) 192 runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d)
192 fetch_cmd = "%s fetch --all -t" % ud.basecmd 193 fetch_cmd = "%s fetch --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
193 bb.fetch2.check_network_access(d, fetch_cmd, ud.url) 194 bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
194 runfetchcmd(fetch_cmd, d) 195 runfetchcmd(fetch_cmd, d)
195 runfetchcmd("%s prune-packed" % ud.basecmd, d) 196 runfetchcmd("%s prune-packed" % ud.basecmd, d)