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