##// END OF EJS Templates
repository: introduce constant for treemanifest requirement and use it...
repository: introduce constant for treemanifest requirement and use it In future we will like to much cleaner logic around which requirement is for working copy and which can go in store. To start with that, we first need to de-clutter the requirement values spread around and replace them with constants. Differential Revision: https://phab.mercurial-scm.org/D8916

File last commit:

r43812:2fe6121c default
r45931:e58e2340 default
Show More
pullext.py
56 lines | 1.5 KiB | text/x-python | PythonLexer
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
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 __future__ import absolute_import
from mercurial.i18n import _
from mercurial import (
commands,
Gregory Szorc
exchangev2: support fetching shallow files history...
r40429 error,
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363 extensions,
localrepo,
Pulkit Goyal
interfaces: create a new folder for interfaces and move repository.py in it...
r43078 )
Augie Fackler
formatting: blacken the codebase...
r43346 from mercurial.interfaces import repository
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363
def clonecommand(orig, ui, repo, *args, **kwargs):
Augie Fackler
cleanup: remove pointless r-prefixes on single-quoted strings...
r43906 if kwargs.get('include') or kwargs.get('exclude'):
kwargs['narrow'] = True
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363
Augie Fackler
cleanup: remove pointless r-prefixes on single-quoted strings...
r43906 if kwargs.get('depth'):
Gregory Szorc
exchangev2: support fetching shallow files history...
r40429 try:
Augie Fackler
cleanup: remove pointless r-prefixes on single-quoted strings...
r43906 kwargs['depth'] = int(kwargs['depth'])
Gregory Szorc
exchangev2: support fetching shallow files history...
r40429 except ValueError:
raise error.Abort(_('--depth must be an integer'))
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363 return orig(ui, repo, *args, **kwargs)
Augie Fackler
formatting: blacken the codebase...
r43346
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363 def featuresetup(ui, features):
features.add(repository.NARROW_REQUIREMENT)
Augie Fackler
formatting: blacken the codebase...
r43346
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363 def extsetup(ui):
Matt Harbison
py3: byteify tests/pullext.py...
r41019 entry = extensions.wrapcommand(commands.table, b'clone', clonecommand)
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363
Matt Harbison
py3: byteify tests/pullext.py...
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
exchangev2: recognize narrow patterns when pulling...
r40363
if not hasinclude:
Augie Fackler
formatting: blacken the codebase...
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
exchangev2: recognize narrow patterns when pulling...
r40363
Gregory Szorc
exchangev2: support fetching shallow files history...
r40429 if not hasdepth:
Augie Fackler
formatting: blacken the codebase...
r43346 entry[1].append(
(b'', b'depth', b'', _(b'ancestry depth of changesets to fetch'))
)
Gregory Szorc
exchangev2: support fetching shallow files history...
r40429
Gregory Szorc
exchangev2: recognize narrow patterns when pulling...
r40363 localrepo.featuresetupfuncs.add(featuresetup)