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
--- 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)