pullext.py
55 lines
| 1.4 KiB
| text/x-python
|
PythonLexer
/ tests / pullext.py
Gregory Szorc
|
r40363 | # pullext.py - Simple extension to test pulling | ||
# | ||||
# Copyright 2018 Gregory Szorc <gregory.szorc@gmail.com> | ||||
# | ||||
# This software may be used and distributed according to the terms of the | ||||
# GNU General Public License version 2 or any later version. | ||||
from mercurial.i18n import _ | ||||
from mercurial import ( | ||||
commands, | ||||
Gregory Szorc
|
r40429 | error, | ||
Gregory Szorc
|
r40363 | extensions, | ||
localrepo, | ||||
Pulkit Goyal
|
r45932 | requirements, | ||
Pulkit Goyal
|
r43078 | ) | ||
Augie Fackler
|
r43346 | |||
Gregory Szorc
|
r40363 | |||
def clonecommand(orig, ui, repo, *args, **kwargs): | ||||
Augie Fackler
|
r43906 | if kwargs.get('include') or kwargs.get('exclude'): | ||
kwargs['narrow'] = True | ||||
Gregory Szorc
|
r40363 | |||
Augie Fackler
|
r43906 | if kwargs.get('depth'): | ||
Gregory Szorc
|
r40429 | try: | ||
Augie Fackler
|
r43906 | kwargs['depth'] = int(kwargs['depth']) | ||
Gregory Szorc
|
r40429 | except ValueError: | ||
raise error.Abort(_('--depth must be an integer')) | ||||
Gregory Szorc
|
r40363 | return orig(ui, repo, *args, **kwargs) | ||
Augie Fackler
|
r43346 | |||
Gregory Szorc
|
r40363 | def featuresetup(ui, features): | ||
Pulkit Goyal
|
r45932 | features.add(requirements.NARROW_REQUIREMENT) | ||
Gregory Szorc
|
r40363 | |||
Augie Fackler
|
r43346 | |||
Gregory Szorc
|
r40363 | def extsetup(ui): | ||
Matt Harbison
|
r41019 | entry = extensions.wrapcommand(commands.table, b'clone', clonecommand) | ||
Gregory Szorc
|
r40363 | |||
Matt Harbison
|
r41019 | hasinclude = any(x[1] == b'include' for x in entry[1]) | ||
hasdepth = any(x[1] == b'depth' for x in entry[1]) | ||||
Gregory Szorc
|
r40363 | |||
if not hasinclude: | ||||
Augie Fackler
|
r43346 | entry[1].append( | ||
(b'', b'include', [], _(b'pattern of file/directory to clone')) | ||||
) | ||||
entry[1].append( | ||||
(b'', b'exclude', [], _(b'pattern of file/directory to not clone')) | ||||
) | ||||
Gregory Szorc
|
r40363 | |||
Gregory Szorc
|
r40429 | if not hasdepth: | ||
Augie Fackler
|
r43346 | entry[1].append( | ||
(b'', b'depth', b'', _(b'ancestry depth of changesets to fetch')) | ||||
) | ||||
Gregory Szorc
|
r40429 | |||
Gregory Szorc
|
r40363 | localrepo.featuresetupfuncs.add(featuresetup) | ||