| Index: testing_support/gerrit-init.sh
 | 
| diff --git a/testing_support/gerrit-init.sh b/testing_support/gerrit-init.sh
 | 
| index dc32959a4f5555a5c8649376d04c2531f47758a0..706534728afb3d4a62524c2ad3f7412e9fd1695b 100755
 | 
| --- a/testing_support/gerrit-init.sh
 | 
| +++ b/testing_support/gerrit-init.sh
 | 
| @@ -77,27 +77,23 @@ import re
 | 
|  import sys
 | 
|  
 | 
|  requested_version = sys.argv[1] if len(sys.argv) > 1 else None
 | 
| -gerrit_re = re.compile('gerrit(?:-full|-snapshot)?-([0-9.]+)(-rc[0-9]+)?'
 | 
| -                       '(?:-([0-9]*)-g[0-9a-f]+)?[.]war')
 | 
| +gerrit_re = re.compile('gerrit(?:-full)?-([0-9.]+)(-rc[0-9]+)?[.]war')
 | 
|  j = json.load(sys.stdin)
 | 
|  items = [(x, gerrit_re.match(x['name'])) for x in j['items']]
 | 
| -items = [(x, m.groups()) for x, m in items if m]
 | 
| -
 | 
| +items = [(x, m.group(1), m.group(2)) for x, m in items if m]
 | 
|  def _cmp(a, b):
 | 
| -  a_version, a_rc, a_commits = a[1]
 | 
| -  b_version, b_rc, b_commits = b[1]
 | 
| -  a_parts = a_version.split('.')
 | 
| -  b_parts = b_version.split('.')
 | 
| -  while len(a_parts) < len(b_parts):
 | 
| -    a_parts.append('0')
 | 
| -  while len(b_parts) < len(a_parts):
 | 
| -    b_parts.append('0')
 | 
| -  a_parts.append(a_rc[3:] if a_rc else '1000')
 | 
| -  b_parts.append(b_rc[3:] if b_rc else '1000')
 | 
| -  a_parts.append(a_commits if a_commits else '0')
 | 
| -  b_parts.append(b_commits if b_commits else '0')
 | 
| -
 | 
| -  return -cmp(map(int, a_parts), map(int, b_parts))
 | 
| +  an = a[1].split('.')
 | 
| +  bn = b[1].split('.')
 | 
| +  while len(an) < len(bn):
 | 
| +    an.append('0')
 | 
| +  while len(bn) < len(an):
 | 
| +    bn.append('0')
 | 
| +  an.append(a[2][3:] if a[2] else '1000')
 | 
| +  bn.append(b[2][3:] if b[2] else '1000')
 | 
| +  for i in range(len(an)):
 | 
| +    if an[i] != bn[i]:
 | 
| +      return -1 if int(an[i]) > int(bn[i]) else 1
 | 
| +  return 0
 | 
|  
 | 
|  if requested_version:
 | 
|    for info, version in items:
 | 
| 
 |