##// END OF EJS Templates
grep: adds allfiles mode...
grep: adds allfiles mode Adds an allfiles flag that lets you grep on all files in the revision and not just the one that were modified in that changeset. This would work on a single revision and get all the files that were there in that revision. So it's like grepping on a previous state. Using this with wdir() :: `hg grep -r "wdir()" --allfiles` is what the default behavior is desired for grep. Support for multiple revisions to be added later. Differential Revision: https://phab.mercurial-scm.org/D3728

File last commit:

r36490:d0d5eef5 default
r38361:b8f45fc2 default
Show More
narrowpatch.py
41 lines | 1.5 KiB | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # narrowpatch.py - extensions to mercurial patch 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 (
extensions,
patch,
)
def setup(repo):
def _filepairs(orig, *args):
"""Only includes files within the narrow spec in the diff."""
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if not narrowmatch.always():
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 for x in orig(*args):
f1, f2, copyop = x
if ((not f1 or narrowmatch(f1)) and
(not f2 or narrowmatch(f2))):
yield x
else:
for x in orig(*args):
yield x
def trydiff(orig, repo, revs, ctx1, ctx2, modified, added, removed,
copy, getfilectx, *args, **kwargs):
Martin von Zweigbergk
narrow: drop safehasattr() checks for always-present repo.narrowmatch...
r36490 narrowmatch = repo.narrowmatch()
if not narrowmatch.always():
Augie Fackler
narrow: use list comprehension instead of filter for filtering lists...
r36363 modified = [f for f in modified if narrowmatch(f)]
added = [f for f in added if narrowmatch(f)]
removed = [f for f in removed if narrowmatch(f)]
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 copy = {k: v for k, v in copy.iteritems() if narrowmatch(k)}
return orig(repo, revs, ctx1, ctx2, modified, added, removed, copy,
getfilectx, *args, **kwargs)
extensions.wrapfunction(patch, '_filepairs', _filepairs)
extensions.wrapfunction(patch, 'trydiff', trydiff)