Mercurial > hg
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