[PATCH STABLE V2] subrepo: warn user if Git is not version 1.6.0 or higher
Augie Fackler
raf at durin42.com
Wed Jun 13 14:54:46 UTC 2012
LGTM
On Jun 12, 2012, at 12:41 PM, Benjamin Pollack wrote:
> # HG changeset patch
> # User Benjamin Pollack <benjamin at bitquabit.com>
> # Date 1339507735 14400
> # Branch stable
> # Node ID 7229a359dadc7c296d7b75d588bfc0cd2aaaf092
> # Parent 15159abc5ab68050e9a19cc1c74240a937dd1a85
> subrepo: warn user if Git is not version 1.6.0 or higher
>
> diff --git a/mercurial/subrepo.py b/mercurial/subrepo.py
> --- a/mercurial/subrepo.py
> +++ b/mercurial/subrepo.py
> @@ -840,7 +840,6 @@
>
> class gitsubrepo(abstractsubrepo):
> def __init__(self, ctx, path, state):
> - # TODO add git version check.
> self._state = state
> self._ctx = ctx
> self._path = path
> @@ -848,6 +847,22 @@
> self._abspath = ctx._repo.wjoin(path)
> self._subparent = ctx._repo
> self._ui = ctx._repo.ui
> + self._ensuregit()
> +
> + def _ensuregit(self):
> + out = self._gitcommand(['--version'])
> + m = re.search(r'^git version (\d+)\.(\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))
> + # 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):
> + raise util.Abort(_('git subrepo requires at least 1.6.0 or later'))
> + elif version < (1, 6, 0):
> + self._ui.warn(_('git subrepo requires at least 1.6.0 or later'))
>
> def _gitcommand(self, commands, env=None, stream=False):
> return self._gitdir(commands, env=env, stream=stream)[0]
> _______________________________________________
> Mercurial-devel mailing list
> Mercurial-devel at selenic.com
> http://selenic.com/mailman/listinfo/mercurial-devel
More information about the Mercurial-devel
mailing list