view tests/test-branches.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 2bcef677a6c3
children 7e0b31dfc66f
line wrap: on
line source

marked working directory as branch a
marked working directory as branch q
reset working directory to branch a
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
marked working directory as branch b
created new head
1 files updated, 0 files merged, 2 files removed, 0 files unresolved
marked working directory as branch c
marked working directory as branch a branch name much longer than the default justification used by branches
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b                              4:aee39cd168d0
c                              6:589736a22561 (inactive)
a                              5:d8cbc61dbaa6 (inactive)
default                        0:19709c5a4e75 (inactive)
-------
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b                              4:aee39cd168d0
--- Branch a
changeset:   5:d8cbc61dbaa6
branch:      a
parent:      2:881fe2b92ad0
user:        test
date:        Thu Jan 01 00:00:04 1970 +0000
summary:     Adding b branch head 2

changeset:   2:881fe2b92ad0
branch:      a
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     Adding to a branch

changeset:   1:dd6b440dd85a
branch:      a
user:        test
date:        Thu Jan 01 00:00:01 1970 +0000
summary:     Adding a branch

---- Branch b
changeset:   4:aee39cd168d0
branch:      b
user:        test
date:        Thu Jan 01 00:00:03 1970 +0000
summary:     Adding b branch head 1

changeset:   3:ac22033332d1
branch:      b
parent:      0:19709c5a4e75
user:        test
date:        Thu Jan 01 00:00:02 1970 +0000
summary:     Adding b branch

---- going to test branch closing
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b                              4:aee39cd168d0
c                              6:589736a22561 (inactive)
a                              5:d8cbc61dbaa6 (inactive)
default                        0:19709c5a4e75 (inactive)
2 files updated, 0 files merged, 4 files removed, 0 files unresolved
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
created new head
b                             10:bfbe841b666e
a branch name much longer than the default justification used by branches 7:10ff5895aa57
c                              6:589736a22561 (inactive)
a                              5:d8cbc61dbaa6 (inactive)
default                        0:19709c5a4e75 (inactive)
changeset:   10:bfbe841b666e
branch:      b
tag:         tip
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     adding another cset to branch b

changeset:   8:eebb944467c9
branch:      b
parent:      4:aee39cd168d0
user:        test
date:        Thu Jan 01 00:00:07 1970 +0000
summary:     adding cset to branch b

changeset:   7:10ff5895aa57
branch:      a branch name much longer than the default justification used by branches
user:        test
date:        Thu Jan 01 00:00:06 1970 +0000
summary:     Adding d branch

changeset:   10:bfbe841b666e
branch:      b
tag:         tip
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     adding another cset to branch b

changeset:   8:eebb944467c9
branch:      b
parent:      4:aee39cd168d0
user:        test
date:        Thu Jan 01 00:00:07 1970 +0000
summary:     adding cset to branch b

changeset:   7:10ff5895aa57
branch:      a branch name much longer than the default justification used by branches
user:        test
date:        Thu Jan 01 00:00:06 1970 +0000
summary:     Adding d branch

b                              8:eebb944467c9
a branch name much longer than the default justification used by branches 7:10ff5895aa57
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
--- b branch should be inactive
a branch name much longer than the default justification used by branches 7:10ff5895aa57
b                             12:2da6583810df (closed)
c                              6:589736a22561 (inactive)
a                              5:d8cbc61dbaa6 (inactive)
default                        0:19709c5a4e75 (inactive)
a branch name much longer than the default justification used by branches 7:10ff5895aa57
no open branch heads on branch b
changeset:   12:2da6583810df
branch:      b
tag:         tip
parent:      8:eebb944467c9
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     close this part branch too

changeset:   11:c84627f3c15d
branch:      b
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     prune bad branch

--- branch b is back in action
b                             13:6ac12926b8c3
a branch name much longer than the default justification used by branches 7:10ff5895aa57
---- test heads listings
changeset:   13:6ac12926b8c3
branch:      b
tag:         tip
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     reopen branch with a change

changeset:   11:c84627f3c15d
branch:      b
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     prune bad branch

changeset:   7:10ff5895aa57
branch:      a branch name much longer than the default justification used by branches
user:        test
date:        Thu Jan 01 00:00:06 1970 +0000
summary:     Adding d branch

% branch default
changeset:   0:19709c5a4e75
user:        test
date:        Thu Jan 01 00:00:00 1970 +0000
summary:     Adding root node

% branch a
changeset:   5:d8cbc61dbaa6
branch:      a
parent:      2:881fe2b92ad0
user:        test
date:        Thu Jan 01 00:00:04 1970 +0000
summary:     Adding b branch head 2

% branch b
changeset:   13:6ac12926b8c3
branch:      b
tag:         tip
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     reopen branch with a change

changeset:   13:6ac12926b8c3
branch:      b
tag:         tip
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     reopen branch with a change

changeset:   11:c84627f3c15d
branch:      b
user:        test
date:        Thu Jan 01 00:00:09 1970 +0000
summary:     prune bad branch