##// 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:

r36369:87e950a0 default
r38361:b8f45fc2 default
Show More
narrowwirepeer.py
52 lines | 1.9 KiB | text/x-python | PythonLexer
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 # narrowwirepeer.py - passes narrow spec with unbundle command
#
# 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.i18n import _
from mercurial import (
error,
extensions,
hg,
Gregory Szorc
narrowspec: move module into core...
r36178 narrowspec,
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 node,
)
def uisetup():
def peersetup(ui, peer):
# We must set up the expansion before reposetup below, since it's used
# at clone time before we have a repo.
class expandingpeer(peer.__class__):
def expandnarrow(self, narrow_include, narrow_exclude, nodes):
ui.status(_("expanding narrowspec\n"))
Augie Fackler
narrowwirepeer: rename expandnarrow capability to exp-expandnarrow...
r36118 if not self.capable('exp-expandnarrow'):
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 raise error.Abort(
'peer does not support expanding narrowspecs')
hex_nodes = (node.hex(n) for n in nodes)
new_narrowspec = self._call(
'expandnarrow',
includepats=','.join(narrow_include),
excludepats=','.join(narrow_exclude),
nodes=','.join(hex_nodes))
return narrowspec.parseserverpatterns(new_narrowspec)
peer.__class__ = expandingpeer
hg.wirepeersetupfuncs.append(peersetup)
def reposetup(repo):
def wirereposetup(ui, peer):
def wrapped(orig, cmd, *args, **kwargs):
if cmd == 'unbundle':
Augie Fackler
narrowwirepeer: add TODO about how we add wireproto args to unbundle :(...
r36119 # TODO: don't blindly add include/exclude wireproto
# arguments to unbundle.
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 include, exclude = repo.narrowpats
Augie Fackler
narrowwirepeer: add some strkwargs to fix a crash on py3...
r36369 kwargs[r"includepats"] = ','.join(include)
kwargs[r"excludepats"] = ','.join(exclude)
Augie Fackler
narrow: import experimental extension from narrowhg revision cb51d673e9c5...
r36096 return orig(cmd, *args, **kwargs)
extensions.wrapfunction(peer, '_calltwowaystream', wrapped)
hg.wirepeersetupfuncs.append(wirereposetup)