summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/fetch2/git.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/bitbake/lib/bb/fetch2/git.py b/bitbake/lib/bb/fetch2/git.py
index f7c26b36cc..9ca24428a1 100644
--- a/bitbake/lib/bb/fetch2/git.py
+++ b/bitbake/lib/bb/fetch2/git.py
@@ -317,22 +317,30 @@ class Git(FetchMethod):
317 """ 317 """
318 return "git:" + ud.host + ud.path.replace('/', '.') + ud.unresolvedrev[name] 318 return "git:" + ud.host + ud.path.replace('/', '.') + ud.unresolvedrev[name]
319 319
320 def _latest_revision(self, ud, d, name): 320 def _lsremote(self, ud, d, search):
321 """ 321 """
322 Compute the HEAD revision for the url 322 Run git ls-remote with the specified search string
323 """ 323 """
324 if ud.user: 324 if ud.user:
325 username = ud.user + '@' 325 username = ud.user + '@'
326 else: 326 else:
327 username = "" 327 username = ""
328 328
329 cmd = "%s ls-remote %s://%s%s%s refs/heads/%s refs/tags/%s^{}" % \ 329 cmd = "%s ls-remote %s://%s%s%s %s" % \
330 (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.unresolvedrev[name], ud.unresolvedrev[name]) 330 (ud.basecmd, ud.proto, username, ud.host, ud.path, search)
331 if ud.proto.lower() != 'file': 331 if ud.proto.lower() != 'file':
332 bb.fetch2.check_network_access(d, cmd) 332 bb.fetch2.check_network_access(d, cmd)
333 output = runfetchcmd(cmd, d, True) 333 output = runfetchcmd(cmd, d, True)
334 if not output: 334 if not output:
335 raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, ud.url) 335 raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, ud.url)
336 return output
337
338 def _latest_revision(self, ud, d, name):
339 """
340 Compute the HEAD revision for the url
341 """
342 search = "refs/heads/%s refs/tags/%s^{}" % (ud.unresolvedrev[name], ud.unresolvedrev[name])
343 output = self._lsremote(ud, d, search)
336 return output.split()[0] 344 return output.split()[0]
337 345
338 def _build_revision(self, ud, d, name): 346 def _build_revision(self, ud, d, name):