Index: scm.py |
diff --git a/scm.py b/scm.py |
index 875541ff8f52efbb0f5ec2f95ce544fafdae7617..fa738135b491790209bac6f7f6caba5b60af1752 100644 |
--- a/scm.py |
+++ b/scm.py |
@@ -86,16 +86,7 @@ def determine_scm(root): |
return None |
-def only_int(val): |
- if val.isdigit(): |
- return int(val) |
- else: |
- return 0 |
- |
- |
class GIT(object): |
- current_version = None |
- |
@staticmethod |
def Capture(args, **kwargs): |
return subprocess2.check_output( |
@@ -379,19 +370,23 @@ class GIT(object): |
root = GIT.Capture(['rev-parse', '--show-cdup'], cwd=cwd).strip() |
return os.path.abspath(os.path.join(cwd, root)) |
- @classmethod |
- def AssertVersion(cls, min_version): |
+ @staticmethod |
+ def AssertVersion(min_version): |
"""Asserts git's version is at least min_version.""" |
- if cls.current_version is None: |
- cls.current_version = cls.Capture(['--version']).split()[-1] |
- current_version_list = map(only_int, cls.current_version.split('.')) |
+ def only_int(val): |
+ if val.isdigit(): |
+ return int(val) |
+ else: |
+ return 0 |
+ current_version = GIT.Capture(['--version']).split()[-1] |
+ current_version_list = map(only_int, current_version.split('.')) |
for min_ver in map(int, min_version.split('.')): |
ver = current_version_list.pop(0) |
if ver < min_ver: |
- return (False, cls.current_version) |
+ return (False, current_version) |
elif ver > min_ver: |
- return (True, cls.current_version) |
- return (True, cls.current_version) |
+ return (True, current_version) |
+ return (True, current_version) |
class SVN(object): |
@@ -928,19 +923,24 @@ class SVN(object): |
directory = parent |
return GetCasedPath(directory) |
- @classmethod |
- def AssertVersion(cls, min_version): |
+ @staticmethod |
+ def AssertVersion(min_version): |
"""Asserts svn's version is at least min_version.""" |
- if cls.current_version is None: |
- cls.current_version = cls.Capture(['--version']).split()[2] |
- current_version_list = map(only_int, cls.current_version.split('.')) |
+ def only_int(val): |
+ if val.isdigit(): |
+ return int(val) |
+ else: |
+ return 0 |
+ if not SVN.current_version: |
+ SVN.current_version = SVN.Capture(['--version']).split()[2] |
+ current_version_list = map(only_int, SVN.current_version.split('.')) |
for min_ver in map(int, min_version.split('.')): |
ver = current_version_list.pop(0) |
if ver < min_ver: |
- return (False, cls.current_version) |
+ return (False, SVN.current_version) |
elif ver > min_ver: |
- return (True, cls.current_version) |
- return (True, cls.current_version) |
+ return (True, SVN.current_version) |
+ return (True, SVN.current_version) |
@staticmethod |
def Revert(repo_root, callback=None, ignore_externals=False): |