summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xrepo12
1 files changed, 10 insertions, 2 deletions
diff --git a/repo b/repo
index ce42ad06..114bb662 100755
--- a/repo
+++ b/repo
@@ -121,6 +121,7 @@ GITC_CONFIG_FILE = '/gitc/.config'
121GITC_FS_ROOT_DIR = '/gitc/manifest-rw/' 121GITC_FS_ROOT_DIR = '/gitc/manifest-rw/'
122 122
123 123
124import collections
124import errno 125import errno
125import optparse 126import optparse
126import platform 127import platform
@@ -377,18 +378,25 @@ def _Init(args, gitc_init=False):
377 raise 378 raise
378 379
379 380
381# The git version info broken down into components for easy analysis.
382# Similar to Python's sys.version_info.
383GitVersion = collections.namedtuple(
384 'GitVersion', ('major', 'minor', 'micro', 'full'))
385
380def ParseGitVersion(ver_str): 386def ParseGitVersion(ver_str):
381 if not ver_str.startswith('git version '): 387 if not ver_str.startswith('git version '):
382 return None 388 return None
383 389
384 num_ver_str = ver_str[len('git version '):].strip().split('-')[0] 390 full_version = ver_str[len('git version '):].strip()
391 num_ver_str = full_version.split('-')[0]
385 to_tuple = [] 392 to_tuple = []
386 for num_str in num_ver_str.split('.')[:3]: 393 for num_str in num_ver_str.split('.')[:3]:
387 if num_str.isdigit(): 394 if num_str.isdigit():
388 to_tuple.append(int(num_str)) 395 to_tuple.append(int(num_str))
389 else: 396 else:
390 to_tuple.append(0) 397 to_tuple.append(0)
391 return tuple(to_tuple) 398 to_tuple.append(full_version)
399 return GitVersion(*to_tuple)
392 400
393 401
394def _CheckGitVersion(): 402def _CheckGitVersion():