Mercurial > hg
view mercurial/node.py @ 38631:9ef10437bb88
grep: change default behaviour to search working directory files (BC)
With this patch, grep searches on the working directory by default
and looks for all files tracked by the working directory and greps on them.
### OLD BEHAVIOUR
$ hg init a
$ cd a
$ echo "some text">>file1
$ hg add file1
$ hg commit -m "adds file1"
$ hg mv file1 file2
$ hg grep "some"
`file2:1:some text`
`file1:0:some text`
This behaviour is undesirable since file1 is not in the current history and was
renamed as file2, so the second result was redundant and confusing.
### NEW BEHAVIOUR
$ hg init a
$ cd a
$ echo "some text">>file1
$ hg add file1
$ hg commit -m "adds file1"
$ hg mv file1 file2
$ hg grep "some"
`file2:2147483647:some text`
Differential Revision: https://phab.mercurial-scm.org/D3826
author | Sangeet Kumar Mishra <mail2sangeetmishra@gmail.com> |
---|---|
date | Fri, 06 Jul 2018 00:39:21 +0530 |
parents | d7114f883505 |
children | b623c7b23695 |
line wrap: on
line source
# node.py - basic nodeid manipulation for mercurial # # Copyright 2005, 2006 Matt Mackall <mpm@selenic.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 import binascii # This ugly style has a noticeable effect in manifest parsing hex = binascii.hexlify # Adapt to Python 3 API changes. If this ends up showing up in # profiles, we can use this version only on Python 3, and forward # binascii.unhexlify like we used to on Python 2. def bin(s): try: return binascii.unhexlify(s) except binascii.Error as e: raise TypeError(e) nullrev = -1 nullid = b"\0" * 20 nullhex = hex(nullid) # Phony node value to stand-in for new files in some uses of # manifests. newnodeid = '!' * 20 addednodeid = ('0' * 15) + 'added' modifiednodeid = ('0' * 12) + 'modified' wdirfilenodeids = {newnodeid, addednodeid, modifiednodeid} # pseudo identifiers for working directory # (they are experimental, so don't add too many dependencies on them) wdirrev = 0x7fffffff wdirid = b"\xff" * 20 wdirhex = hex(wdirid) def short(node): return hex(node[:6])