Mercurial > hg
view tests/test-dispatch.out @ 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 | c88c8d59979f |
children | f8e25885d975 |
line wrap: on
line source
adding a # missing arg hg cat: invalid arguments hg cat [OPTION]... FILE... output the current or given revision of files Print the specified files as they were at the given revision. If no revision is given, the parent of the working directory is used, or tip if no revision is checked out. Output may be to a file, in which case the name of the file is given using a format string. The formatting rules are the same as for the export command, with the following additions: %s basename of file being printed %d dirname of file being printed, or '.' if in repository root %p root-relative path name of file being printed options: -o --output print output to file with formatted name -r --rev print the given revision --decode apply any matching decode filter -I --include include names matching the given patterns -X --exclude exclude names matching the given patterns use "hg -v help cat" to show global options % [defaults] a a: No such file in rev 000000000000 % no repo abort: There is no Mercurial repository here (.hg not found)!