Mercurial > hg
changeset 42211:20fce2742399
tests: slightly modify a linkrev test to prepare for expanding it
The test case checks that the copy tracing code doesn't get confused
by linkrevs when walking a file's ancestors. This patch chnages the
test slightly so a second commit is grafted, thus producing a second
"bad" linkrev. I'll use this in the next patch to demonstrate a bug.
Differential Revision: https://phab.mercurial-scm.org/D6321
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sat, 27 Apr 2019 22:57:15 -0700 |
parents | 390ec72b8ea4 |
children | 7bb2f358a13b |
files | tests/test-mv-cp-st-diff.t |
diffstat | 1 files changed, 22 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/test-mv-cp-st-diff.t Sat Apr 27 22:55:54 2019 -0700 +++ b/tests/test-mv-cp-st-diff.t Sat Apr 27 22:57:15 2019 -0700 @@ -1624,6 +1624,13 @@ $ echo change > f $ hg ci -m 'change f' +Make a rename because we want to track renames. It is also important that the +faulty linkrev is not only the "start" commit to ensure the linkrev will be +used. + + $ hg mv f renamed + $ hg ci -m renamed + Make a second branch, we use a named branch to create a simple commit that does not touch f. @@ -1631,31 +1638,28 @@ $ hg branch -q dev $ hg ci -Aqm dev -Graft the initial change, as f was untouched, we reuse the same entry and the -linkrev point to the older branch. +Graft the initial change and the rename. As f was untouched, we reuse the same +entry and the linkrev point to the older branch. $ hg graft -q 'desc(change)' - -Make a rename because we want to track renames. It is also important that the -faulty linkrev is not the "start" commit to ensure the linkrev will be used. - - $ hg mv f renamed - $ hg ci -m renamed + $ hg graft -q 'desc(renamed)' $ hg log -G -T '{rev} {desc}' - @ 4 renamed + @ 5 renamed + | + o 4 change f | - o 3 change f + o 3 dev | - o 2 dev - | + | o 2 renamed + | | | o 1 change f |/ o 0 empty f -The copy tracking should still reach rev 2 (branch creation). -accessing the parent of 4 (renamed) should not jump use to revision 1. +The copy tracking should still reach rev 3 (branch creation). +accessing the parent of 5 (renamed) should not jump use to revision 1. $ hg diff --git -r 'desc(dev)' -r . diff --git a/f b/renamed @@ -1669,11 +1673,11 @@ Check debug output for copy tracing $ hg status --copies --rev 'desc(dev)' --rev . --config devel.debug.copies=yes --debug - debug.copies: searching copies from a51f36ab1704 to 7935fd48a8f9 + debug.copies: searching copies from a51f36ab1704 to 1f4aa1fd627b debug.copies: search mode: forward - debug.copies: looking into rename from a51f36ab1704 to 7935fd48a8f9 - debug.copies: search limit: 2 - debug.copies: missing file to search: 1 + debug.copies: looking into rename from a51f36ab1704 to 1f4aa1fd627b + debug.copies: search limit: 3 + debug.copies: missing files to search: 1 debug.copies: tracing file: renamed debug.copies: rename of: f debug.copies: time: * seconds (glob)