##// END OF EJS Templates
narrowspec: validate patterns when loading and saving spec file...
narrowspec: validate patterns when loading and saving spec file Patterns should be normalized and validated before being passed into narrowspec.save(). Let's assert that by checking immediately before writing the narrow spec file. And let's assert that patterns loaded from the spec file also conform. Differential Revision: https://phab.mercurial-scm.org/D4524

File last commit:

r36490:d0d5eef5 default
r39575:8d8e61df default
Show More
narrowcopies.py
34 lines | 1.1 KiB | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # narrowcopies.py - extensions to mercurial copies module to support narrow
# clones
#
# Copyright 2017 Google, Inc.
#
# 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 import (
copies,
extensions,
)
def setup(repo):
def _computeforwardmissing(orig, a, b, match=None):
missing = orig(a, b, match)
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if narrowmatch.always():
return missing
missing = [f for f in missing if narrowmatch(f)]
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 return missing
def _checkcopies(orig, srcctx, dstctx, f, base, tca, remotebase, limit,
data):
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if not narrowmatch(f):
return
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 orig(srcctx, dstctx, f, base, tca, remotebase, limit, data)
extensions.wrapfunction(copies, '_computeforwardmissing',
_computeforwardmissing)
extensions.wrapfunction(copies, '_checkcopies', _checkcopies)