mirror of
https://gerrit.googlesource.com/git-repo
synced 2024-12-21 07:16:21 +00:00
Pass refs to ls-remote
This will fix the issue of parsing large output locally Change-Id: I9a5cf1238147a02c92a3fca53eab9bd57f9d16b4
This commit is contained in:
parent
cf7c0834cf
commit
0f2e45a3a6
@ -2270,8 +2270,8 @@ class Project(object):
|
||||
if self._allrefs:
|
||||
raise GitError('%s cherry-pick %s ' % (self.name, rev))
|
||||
|
||||
def _LsRemote(self):
|
||||
cmd = ['ls-remote']
|
||||
def _LsRemote(self, refs):
|
||||
cmd = ['ls-remote', self.remote.name, refs]
|
||||
p = GitCommand(self, cmd, capture_stdout=True)
|
||||
if p.Wait() == 0:
|
||||
if hasattr(p.stdout, 'decode'):
|
||||
|
@ -62,9 +62,10 @@ If no project is specified try to use current directory as a project.
|
||||
ps_id = int(m.group(2))
|
||||
else:
|
||||
ps_id = 1
|
||||
regex = r'refs/changes/%2.2d/%d/(\d+)' % (chg_id % 100, chg_id)
|
||||
output = project._LsRemote()
|
||||
refs = 'refs/changes/%2.2d/%d/' % (chg_id % 100, chg_id)
|
||||
output = project._LsRemote(refs + '*')
|
||||
if output:
|
||||
regex = refs + r'(\d+)'
|
||||
rcomp = re.compile(regex, re.I)
|
||||
for line in output.splitlines():
|
||||
match = rcomp.search(line)
|
||||
|
Loading…
Reference in New Issue
Block a user