subrepo: only retrieve the first two components of the Git version stable
authorSiddharth Agarwal <sid0@fb.com>
Thu, 20 Mar 2014 19:37:01 -0700
branchstable
changeset 20815 6a2acb0d9352
parent 20784 7f4cf938643d
child 20816 0c32fafd4b3b
subrepo: only retrieve the first two components of the Git version This makes the version detection compatible with Git versions like '1.9-rc0'. We only cared about the first two components of the version anyway.
mercurial/subrepo.py
--- a/mercurial/subrepo.py	Wed Mar 19 00:19:54 2014 +0100
+++ b/mercurial/subrepo.py	Thu Mar 20 19:37:01 2014 -0700
@@ -1117,17 +1117,17 @@
                 raise
             self._gitexecutable = 'git.cmd'
             out, err = self._gitnodir(['--version'])
-        m = re.search(r'^git version (\d+)\.(\d+)\.(\d+)', out)
+        m = re.search(r'^git version (\d+)\.(\d+)', out)
         if not m:
             self._ui.warn(_('cannot retrieve git version'))
             return
-        version = (int(m.group(1)), m.group(2), m.group(3))
+        version = (int(m.group(1)), m.group(2))
         # git 1.4.0 can't work at all, but 1.5.X can in at least some cases,
         # despite the docstring comment.  For now, error on 1.4.0, warn on
         # 1.5.0 but attempt to continue.
-        if version < (1, 5, 0):
+        if version < (1, 5):
             raise util.Abort(_('git subrepo requires at least 1.6.0 or later'))
-        elif version < (1, 6, 0):
+        elif version < (1, 6):
             self._ui.warn(_('git subrepo requires at least 1.6.0 or later'))
 
     def _gitcommand(self, commands, env=None, stream=False):