diff options
| -rw-r--r-- | bitbake/lib/bb/fetch2/git.py | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py index 0fd9beee19..4cc5811937 100644 --- a/bitbake/lib/bb/fetch2/git.py +++ b/bitbake/lib/bb/fetch2/git.py | |||
| @@ -178,11 +178,6 @@ class Git(FetchMethod): | |||
| 178 | def download(self, ud, d): | 178 | def download(self, ud, d): |
| 179 | """Fetch url""" | 179 | """Fetch url""" |
| 180 | 180 | ||
| 181 | if ud.user: | ||
| 182 | username = ud.user + '@' | ||
| 183 | else: | ||
| 184 | username = "" | ||
| 185 | |||
| 186 | ud.repochanged = not os.path.exists(ud.fullmirror) | 181 | ud.repochanged = not os.path.exists(ud.fullmirror) |
| 187 | 182 | ||
| 188 | # If the checkout doesn't exist and the mirror tarball does, extract it | 183 | # If the checkout doesn't exist and the mirror tarball does, extract it |
| @@ -191,7 +186,7 @@ class Git(FetchMethod): | |||
| 191 | os.chdir(ud.clonedir) | 186 | os.chdir(ud.clonedir) |
| 192 | runfetchcmd("tar -xzf %s" % (ud.fullmirror), d) | 187 | runfetchcmd("tar -xzf %s" % (ud.fullmirror), d) |
| 193 | 188 | ||
| 194 | repourl = "%s://%s%s%s" % (ud.proto, username, ud.host, ud.path) | 189 | repourl = self._get_repo_url(ud) |
| 195 | 190 | ||
| 196 | # If the repo still doesn't exist, fallback to cloning it | 191 | # If the repo still doesn't exist, fallback to cloning it |
| 197 | if not os.path.exists(ud.clonedir): | 192 | if not os.path.exists(ud.clonedir): |
| @@ -277,8 +272,10 @@ class Git(FetchMethod): | |||
| 277 | clonedir = indirectiondir | 272 | clonedir = indirectiondir |
| 278 | 273 | ||
| 279 | runfetchcmd("%s clone %s %s/ %s" % (ud.basecmd, cloneflags, clonedir, destdir), d) | 274 | runfetchcmd("%s clone %s %s/ %s" % (ud.basecmd, cloneflags, clonedir, destdir), d) |
| 275 | os.chdir(destdir) | ||
| 276 | repourl = self._get_repo_url(ud) | ||
| 277 | runfetchcmd("%s remote set-url origin %s" % (ud.basecmd, repourl), d) | ||
| 280 | if not ud.nocheckout: | 278 | if not ud.nocheckout: |
| 281 | os.chdir(destdir) | ||
| 282 | if subdir != "": | 279 | if subdir != "": |
| 283 | runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.revisions[ud.names[0]], readpathspec), d) | 280 | runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.revisions[ud.names[0]], readpathspec), d) |
| 284 | runfetchcmd("%s checkout-index -q -f -a" % ud.basecmd, d) | 281 | runfetchcmd("%s checkout-index -q -f -a" % ud.basecmd, d) |
| @@ -312,6 +309,16 @@ class Git(FetchMethod): | |||
| 312 | raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output)) | 309 | raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output)) |
| 313 | return output.split()[0] != "0" | 310 | return output.split()[0] != "0" |
| 314 | 311 | ||
| 312 | def _get_repo_url(self, ud): | ||
| 313 | """ | ||
| 314 | Return the repository URL | ||
| 315 | """ | ||
| 316 | if ud.user: | ||
| 317 | username = ud.user + '@' | ||
| 318 | else: | ||
| 319 | username = "" | ||
| 320 | return "%s://%s%s%s" % (ud.proto, username, ud.host, ud.path) | ||
| 321 | |||
| 315 | def _revision_key(self, ud, d, name): | 322 | def _revision_key(self, ud, d, name): |
| 316 | """ | 323 | """ |
| 317 | Return a unique key for the url | 324 | Return a unique key for the url |
| @@ -322,13 +329,9 @@ class Git(FetchMethod): | |||
| 322 | """ | 329 | """ |
| 323 | Run git ls-remote with the specified search string | 330 | Run git ls-remote with the specified search string |
| 324 | """ | 331 | """ |
| 325 | if ud.user: | 332 | repourl = self._get_repo_url(ud) |
| 326 | username = ud.user + '@' | 333 | cmd = "%s ls-remote %s %s" % \ |
| 327 | else: | 334 | (ud.basecmd, repourl, search) |
| 328 | username = "" | ||
| 329 | |||
| 330 | cmd = "%s ls-remote %s://%s%s%s %s" % \ | ||
| 331 | (ud.basecmd, ud.proto, username, ud.host, ud.path, search) | ||
| 332 | if ud.proto.lower() != 'file': | 335 | if ud.proto.lower() != 'file': |
| 333 | bb.fetch2.check_network_access(d, cmd) | 336 | bb.fetch2.check_network_access(d, cmd) |
| 334 | output = runfetchcmd(cmd, d, True) | 337 | output = runfetchcmd(cmd, d, True) |
