Index: gclient_scm.py |
diff --git a/gclient_scm.py b/gclient_scm.py |
index 034dc2df6c8bdef41dc7f8460bc8ca356036756a..aa5a05d33b6c60692382915553df50f92ab7e885 100644 |
--- a/gclient_scm.py |
+++ b/gclient_scm.py |
@@ -115,6 +115,8 @@ class GitWrapper(SCMWrapper, scm.GIT): |
if args: |
raise gclient_utils.Error("Unsupported argument(s): %s" % ",".join(args)) |
+ self._CheckMinVersion("1.6.1") |
+ |
url, revision = gclient_utils.SplitUrlRevision(self.url) |
rev_str = "" |
if options.revision: |
@@ -185,6 +187,18 @@ class GitWrapper(SCMWrapper, scm.GIT): |
files = self._Run(['diff', '--name-only', merge_base]).split() |
file_list.extend([os.path.join(self.checkout_path, f) for f in files]) |
+ def _CheckMinVersion(self, min_version): |
+ version = self._Run(['--version']).split()[-1] |
+ version_list = map(int, version.split('.')) |
+ min_version_list = map(int, min_version.split('.')) |
M-A Ruel
2009/12/11 19:51:54
Nice idea, I wouldn't have thought about that.
|
+ for min_ver in min_version_list: |
+ ver = version_list.pop(0) |
+ if min_ver > ver: |
+ raise gclient_utils.Error('git version %s < minimum required %s' % |
+ (version, min_version)) |
+ elif min_ver < ver: |
+ return |
+ |
def _Run(self, args, cwd=None, checkrc=True, redirect_stdout=True): |
# TODO(maruel): Merge with Capture? |
if cwd is None: |