Mercurial > hg-stable
view tests/pullext.py @ 44270:51c86c6167c1
pathutil: mark parent directories as audited as we go
Before 0b7ce0b16d8a (pathauditor: change parts verification order to
be root first, 2016-02-11), we used to validate child directories
before parents. It was then important to only mark the child audited
only after we had audited its parent (ancestors). I'm pretty sure we
don't need to do that any more, now that we audit parents before
children.
Differential Revision: https://phab.mercurial-scm.org/D8002
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 24 Jan 2020 17:25:40 -0800 |
parents | 9f70512ae2cf |
children | 77b8588dd84e |
line wrap: on
line source
# 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, error, extensions, localrepo, ) from mercurial.interfaces import repository def clonecommand(orig, ui, repo, *args, **kwargs): if kwargs.get('include') or kwargs.get('exclude'): kwargs['narrow'] = True if kwargs.get('depth'): try: kwargs['depth'] = int(kwargs['depth']) except ValueError: raise error.Abort(_('--depth must be an integer')) return orig(ui, repo, *args, **kwargs) def featuresetup(ui, features): features.add(repository.NARROW_REQUIREMENT) def extsetup(ui): entry = extensions.wrapcommand(commands.table, b'clone', clonecommand) hasinclude = any(x[1] == b'include' for x in entry[1]) hasdepth = any(x[1] == b'depth' for x in entry[1]) if not hasinclude: 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')) ) if not hasdepth: entry[1].append( (b'', b'depth', b'', _(b'ancestry depth of changesets to fetch')) ) localrepo.featuresetupfuncs.add(featuresetup)