bitbake: fetch/git: Separate out an ls-remote function
There is other code which can want to run ls-remote style commands with different parameters so split out the function. (Bitbake rev: 13f1138f5504feee0ee8e8f3a0675d0bea490351) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
4b048ac882
commit
1aab9c797d
|
@ -317,22 +317,30 @@ class Git(FetchMethod):
|
|||
"""
|
||||
return "git:" + ud.host + ud.path.replace('/', '.') + ud.unresolvedrev[name]
|
||||
|
||||
def _latest_revision(self, ud, d, name):
|
||||
def _lsremote(self, ud, d, search):
|
||||
"""
|
||||
Compute the HEAD revision for the url
|
||||
Run git ls-remote with the specified search string
|
||||
"""
|
||||
if ud.user:
|
||||
username = ud.user + '@'
|
||||
else:
|
||||
username = ""
|
||||
|
||||
cmd = "%s ls-remote %s://%s%s%s refs/heads/%s refs/tags/%s^{}" % \
|
||||
(ud.basecmd, ud.proto, username, ud.host, ud.path, ud.unresolvedrev[name], ud.unresolvedrev[name])
|
||||
cmd = "%s ls-remote %s://%s%s%s %s" % \
|
||||
(ud.basecmd, ud.proto, username, ud.host, ud.path, search)
|
||||
if ud.proto.lower() != 'file':
|
||||
bb.fetch2.check_network_access(d, cmd)
|
||||
output = runfetchcmd(cmd, d, True)
|
||||
if not output:
|
||||
raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, ud.url)
|
||||
return output
|
||||
|
||||
def _latest_revision(self, ud, d, name):
|
||||
"""
|
||||
Compute the HEAD revision for the url
|
||||
"""
|
||||
search = "refs/heads/%s refs/tags/%s^{}" % (ud.unresolvedrev[name], ud.unresolvedrev[name])
|
||||
output = self._lsremote(ud, d, search)
|
||||
return output.split()[0]
|
||||
|
||||
def _build_revision(self, ud, d, name):
|
||||
|
|
Loading…
Reference in New Issue