| 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):
|
|
|