| Index: scm.py | 
| diff --git a/scm.py b/scm.py | 
| index 1dce4bd7ccd9d35dd6e3a8b09788c70c03a8036d..b4553765ae1fa248c85ffe56836e6e8fa336a7cb 100644 | 
| --- a/scm.py | 
| +++ b/scm.py | 
| @@ -270,6 +270,24 @@ class GIT(object): | 
| root = GIT.Capture(['rev-parse', '--show-cdup'], path)[0].strip() | 
| return os.path.abspath(os.path.join(path, root)) | 
|  | 
| +  @staticmethod | 
| +  def AssertVersion(min_version): | 
| +    """Asserts git's version is at least min_version.""" | 
| +    def only_int(val): | 
| +      if val.isdigit(): | 
| +        return int(val) | 
| +      else: | 
| +        return 0 | 
| +    current_version =  GIT.Capture(['--version'])[0].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, current_version) | 
| +      elif ver > min_ver: | 
| +        return (True, current_version) | 
| +    return (True, current_version) | 
| + | 
|  | 
| class SVN(object): | 
| COMMAND = "svn" | 
|  |