view doc/hg.1.txt @ 8849:80cc4b1a62d0

compare grep result between target and its parent I found that typical case is that grep target is added at (*) revision in the tree shown below. +--- 1(*) --- 3 0 +--- 2 ------ 4 Now, I expect 'hg grep --all' to show only rev:1 which is first appearance of target line. But 'hg grep --all' will tell: target line dis-appeared at 3 => 4 target line appeared at 2 => 3 target line dis-appeared at 1 => 2 target line appeared at 0 => 1 because current 'hg grep' implementation compares not between target revision and its parent, but between neighbor revisions in walkthrough order. I checked performance of this patch by "hg grep --follow --all walkchangerevs" on whole Mercurial repo, and patched version could complete as fast as un-patched one.
author FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
date Tue, 19 May 2009 16:49:54 +0900
parents 8e15f4afdf06
children 1de6e7e1bb9f
line wrap: on
line source

HG(1)
=====
Matt Mackall <mpm@selenic.com>
:man source: Mercurial
:man manual: Mercurial Manual

NAME
----
hg - Mercurial source code management system

SYNOPSIS
--------
*hg* 'command' ['option']... ['argument']...

DESCRIPTION
-----------
The *hg* command provides a command line interface to the Mercurial
system.

COMMAND ELEMENTS
----------------

files ...::
    indicates one or more filename or relative path filenames; see
    "FILE NAME PATTERNS" for information on pattern matching

path::
    indicates a path on the local machine

revision::
    indicates a changeset which can be specified as a changeset
    revision number, a tag, or a unique substring of the changeset
    hash value

repository path::
    either the pathname of a local repository or the URI of a remote
    repository.

include::hg.1.gendoc.txt[]

FILES
-----
 `.hgignore`::
    This file contains regular expressions (one per line) that
    describe file names that should be ignored by *hg*. For details,
    see *hgignore(5)*.

 `.hgtags`::
    This file contains changeset hash values and text tag names (one
    of each separated by spaces) that correspond to tagged versions of
    the repository contents.

 `/etc/mercurial/hgrc`, `$HOME/.hgrc`, `.hg/hgrc`::
    This file contains defaults and configuration. Values in `.hg/hgrc`
    override those in `$HOME/.hgrc`, and these override settings made in
    the global `/etc/mercurial/hgrc` configuration. See *hgrc(5)* for
    details of the contents and format of these files.

Some commands (e.g. revert) produce backup files ending in `.orig`, if
the `.orig` file already exists and is not tracked by Mercurial, it will
be overwritten.

BUGS
----
Probably lots, please post them to the mailing list (See Resources
below) when you find them.

SEE ALSO
--------
*hgignore(5)*, *hgrc(5)*

AUTHOR
------
Written by Matt Mackall <mpm@selenic.com>

RESOURCES
---------
http://selenic.com/mercurial[Main Web Site]

http://selenic.com/hg[Source code repository]

http://selenic.com/mailman/listinfo/mercurial[Mailing list]

COPYING
-------
Copyright \(C) 2005-2009 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License (GPL).