Mercurial > hg-stable
annotate tests/test-copies-unrelated.t @ 42595:819712deac69
copies: follow copies across merge base without source file (issue6163)
As in the previous patch, consider these two histories:
@ 4 'rename x to y'
|
o 3 'add x again'
|
o 2 'remove x'
|
| o 1 'modify x'
|/
o 0 'add x'
@ 4 'rename x to y'
|
o 3 'add x again'
|
| o 2 'modify x'
| |
| o 1 'add x'
|/
o 0 'base'
We trace copies from the 'modify x' commit to commit 4 by going via
the merge base (commit 0). When tracing file 'y' (_tracefile()) in the
first case, we immediately find the rename from 'x'. We check to see
if 'x' exists in the merge base, which it does, so we consider it a
valid copy. In the second case, 'x' does not exist in the merge base,
so it's not considered a valid copy. As a workaround, this patch makes
it so we also attempt the check in mergecopies's base commit (commit 1
in the second case). That feels pretty ugly to me, but I don't have
any better ideas.
Note that we actually also check not only that the filename matches,
but also that the file's nodeid matches. I don't know why we do that,
but it was like that already before I rewrote mergecopies(). That
means that the rebase will still fail in cases like this (again, it
already failed before my rewrite):
@ 4 'rename x to y'
|
o 3 'add x again with content X2'
|
o 2 'remove x'
|
| o 1 'modify x to content X2'
|/
o 1 'modify x to content X1'
|
o 0 'add x with content X0'
Differential Revision: https://phab.mercurial-scm.org/D6604
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 28 Jun 2019 12:59:21 -0700 |
parents | d013099c551b |
children | 12b8a2ef8d04 |
rev | line source |
---|---|
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
1 #testcases filelog compatibility changeset |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 $ cat >> $HGRCPATH << EOF |
41936
fc4b7a46fda1
copies: add test that makes both the merging csets dirty and fails
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
41935
diff
changeset
|
4 > [extensions] |
fc4b7a46fda1
copies: add test that makes both the merging csets dirty and fails
Sushil khanchi <sushilkhanchi97@gmail.com>
parents:
41935
diff
changeset
|
5 > rebase= |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 > [alias] |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 > l = log -G -T '{rev} {desc}\n{files}\n' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 > EOF |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 |
41765
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
10 #if compatibility |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
11 $ cat >> $HGRCPATH << EOF |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
12 > [experimental] |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
13 > copies.read-from = compatibility |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
14 > EOF |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
15 #endif |
49ad315b39ee
copies: do copy tracing based on ctx.p[12]copies() if configured
Martin von Zweigbergk <martinvonz@google.com>
parents:
41764
diff
changeset
|
16 |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
17 #if changeset |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
18 $ cat >> $HGRCPATH << EOF |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
19 > [experimental] |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
20 > copies.read-from = changeset-only |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
21 > copies.write-to = changeset-only |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
22 > EOF |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
23 #endif |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
41937
diff
changeset
|
24 |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 $ REPONUM=0 |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 $ newrepo() { |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 > cd $TESTTMP |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 > REPONUM=`expr $REPONUM + 1` |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 > hg init repo-$REPONUM |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
30 > cd repo-$REPONUM |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
31 > } |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
32 |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
33 Copy a file, then delete destination, then copy again. This does not create a new filelog entry. |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
34 $ newrepo |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
35 $ echo x > x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 $ hg ci -Aqm 'add x' |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
37 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
38 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
39 $ hg co -q 0 |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 $ hg cp x y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
41 $ hg ci -qm 'copy x to y' |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 $ hg rm y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 $ hg ci -m 'remove y' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 $ hg cp -f x y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 $ hg ci -m 'copy x onto y (again)' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 $ hg l |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
47 @ 4 copy x onto y (again) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
48 | y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
49 o 3 remove y |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 | y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
51 o 2 copy x to y |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 | y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
53 | o 1 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
54 |/ x |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 o 0 add x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 x |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
57 $ hg debugp1copies -r 4 |
41764
a4358f7345b4
context: introduce p[12]copies() methods and debugp[12]copies commands
Martin von Zweigbergk <martinvonz@google.com>
parents:
41763
diff
changeset
|
58 x -> y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
59 $ hg debugpathcopies 0 4 |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 x -> y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
61 $ hg graft -r 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
62 grafting 1:* "modify x" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
63 merging y and x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
64 $ hg co -qC 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
65 $ hg graft -r 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
66 grafting 4:* "copy x onto y (again)" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
67 merging x and y to y |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
69 Copy x to y, then remove y, then add back y. With copy metadata in the |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
70 changeset, this could easily end up reporting y as copied from x (if we don't |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
71 unmark it as a copy when it's removed). Despite x and y not being related, we |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
72 want grafts to propagate across the rename. |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
73 $ newrepo |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 $ echo x > x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ hg ci -Aqm 'add x' |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
76 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
77 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
78 $ hg co -q 0 |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 $ hg mv x y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
80 $ hg ci -qm 'rename x to y' |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 $ hg rm y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
82 $ hg ci -qm 'remove y' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 $ echo x > y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 $ hg ci -Aqm 'add back y' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 $ hg l |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
86 @ 4 add back y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
87 | y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
88 o 3 remove y |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 | y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
90 o 2 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
91 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
92 | o 1 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
93 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
94 o 0 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
95 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
96 $ hg debugpathcopies 0 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
97 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
98 $ hg graft -r 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
99 grafting 1:* "modify x" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
100 file 'x' was deleted in local [local] but was modified in other [graft]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
101 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
102 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
103 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
104 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
105 [255] |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
106 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
107 Add x, remove it, then add it back, then rename x to y. Similar to the case |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
108 above, but here the break in history is before the rename. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
109 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
110 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
111 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
112 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
113 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
114 $ hg co -q 0 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
115 $ hg rm x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
116 $ hg ci -qm 'remove x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
117 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
118 $ hg ci -Aqm 'add x again' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
119 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
120 $ hg ci -m 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
121 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
122 @ 4 rename x to y |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
123 | x y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
124 o 3 add x again |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
125 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
126 o 2 remove x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
127 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
128 | o 1 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
129 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
130 o 0 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
131 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
132 $ hg debugpathcopies 0 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
133 x -> y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
134 $ hg graft -r 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
135 grafting 1:* "modify x" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
136 merging y and x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
137 $ hg co -qC 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
138 $ hg graft -r 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
139 grafting 4:* "rename x to y" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
140 merging x and y to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
141 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
142 Add x, modify it, remove it, then add it back, then rename x to y. Similar to |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
143 the case above, but here the re-added file's nodeid is different from before |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
144 the break. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
145 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
146 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
147 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
148 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
149 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
150 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
151 $ echo x3 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
152 $ hg ci -qm 'modify x again' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
153 $ hg co -q 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
154 $ hg rm x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
155 $ hg ci -qm 'remove x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
156 # Same content to avoid conflicts |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
157 $ hg revert -r 1 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
158 $ hg ci -Aqm 'add x again' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
159 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
160 $ hg ci -m 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
161 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
162 @ 5 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
163 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
164 o 4 add x again |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
165 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
166 o 3 remove x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
167 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
168 | o 2 modify x again |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
169 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
170 o 1 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
171 | x |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
172 o 0 add x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
173 x |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
174 $ hg debugpathcopies 0 5 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
175 x -> y (no-filelog !) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
176 #if no-filelog |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
177 $ hg graft -r 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
178 grafting 2:* "modify x again" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
179 merging y and x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
180 #else |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
181 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
182 $ hg graft -r 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
183 grafting 2:* "modify x again" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
184 file 'x' was deleted in local [local] but was modified in other [graft]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
185 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
186 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
187 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
188 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
189 [255] |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
190 #endif |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
191 $ hg co -qC 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
192 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
193 $ hg graft -r 5 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
194 grafting 5:* "rename x to y"* (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
195 file 'x' was deleted in other [graft] but was modified in local [local]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
196 You can use (c)hanged version, (d)elete, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
197 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
198 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
199 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
200 [255] |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
201 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
202 Add x, remove it, then add it back, rename x to y from the first commit. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
203 Similar to the case above, but here the break in history is parallel to the |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
204 rename. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
205 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
206 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
207 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
208 $ hg rm x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
209 $ hg ci -qm 'remove x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
210 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
211 $ hg ci -Aqm 'add x again' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
212 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
213 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
214 $ hg co -q 0 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
215 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
216 $ hg ci -qm 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
217 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
218 @ 4 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
219 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
220 | o 3 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
221 | | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
222 | o 2 add x again |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
223 | | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
224 | o 1 remove x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
225 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
226 o 0 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
227 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
228 $ hg debugpathcopies 2 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
229 x -> y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
230 $ hg graft -r 3 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
231 grafting 3:* "modify x" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
232 merging y and x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
233 $ hg co -qC 3 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
234 $ hg graft -r 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
235 grafting 4:* "rename x to y" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
236 merging x and y to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
237 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
238 Add x, remove it, then add it back, rename x to y from the first commit. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
239 Similar to the case above, but here the re-added file's nodeid is different |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
240 from the base. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
241 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
242 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
243 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
244 $ hg rm x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
245 $ hg ci -qm 'remove x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
246 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
247 $ hg ci -Aqm 'add x again with different content' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
248 $ hg co -q 0 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
249 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
250 $ hg ci -qm 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
251 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
252 @ 3 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
253 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
254 | o 2 add x again with different content |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
255 | | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
256 | o 1 remove x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
257 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
258 o 0 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
259 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
260 $ hg debugpathcopies 2 3 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
261 x -> y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
262 BROKEN: This should merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
263 $ hg graft -r 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
264 grafting 2:* "add x again with different content" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
265 $ hg co -qC 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
266 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
267 $ hg graft -r 3 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
268 grafting 3:* "rename x to y" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
269 file 'x' was deleted in other [graft] but was modified in local [local]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
270 You can use (c)hanged version, (d)elete, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
271 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
272 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
273 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
274 [255] |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
275 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
276 Add x on two branches, then rename x to y on one side. Similar to the case |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
277 above, but here the break in history is via the base commit. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
278 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
279 $ echo a > a |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
280 $ hg ci -Aqm 'base' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
281 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
282 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
283 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
284 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
285 $ hg co -q 0 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
286 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
287 $ hg ci -Aqm 'add x again' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
288 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
289 $ hg ci -qm 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
290 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
291 @ 4 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
292 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
293 o 3 add x again |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
294 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
295 | o 2 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
296 | | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
297 | o 1 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
298 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
299 o 0 base |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
300 a |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
301 $ hg debugpathcopies 1 4 |
42595
819712deac69
copies: follow copies across merge base without source file (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42594
diff
changeset
|
302 x -> y |
42594
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
303 $ hg graft -r 2 |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
304 grafting 2:* "modify x" (glob) |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
305 merging y and x to y |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
306 $ hg co -qC 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
307 $ hg graft -r 4 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
308 grafting 4:* "rename x to y"* (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
309 merging x and y to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
310 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
311 Add x on two branches, with same content but different history, then rename x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
312 to y on one side. Similar to the case above, here the file's nodeid is |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
313 different between the branches. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
314 $ newrepo |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
315 $ echo a > a |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
316 $ hg ci -Aqm 'base' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
317 $ echo x > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
318 $ hg ci -Aqm 'add x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
319 $ echo x2 > x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
320 $ hg ci -m 'modify x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
321 $ hg co -q 0 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
322 $ touch x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
323 $ hg ci -Aqm 'add empty x' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
324 # Same content to avoid conflicts |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
325 $ hg revert -r 1 x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
326 $ hg ci -m 'modify x to match commit 1' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
327 $ hg mv x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
328 $ hg ci -qm 'rename x to y' |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
329 $ hg l |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
330 @ 5 rename x to y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
331 | x y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
332 o 4 modify x to match commit 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
333 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
334 o 3 add empty x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
335 | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
336 | o 2 modify x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
337 | | x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
338 | o 1 add x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
339 |/ x |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
340 o 0 base |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
341 a |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
342 $ hg debugpathcopies 1 5 |
42594
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
343 x -> y (no-filelog !) |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
344 #if filelog |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
345 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
346 $ hg graft -r 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
347 grafting 2:* "modify x" (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
348 file 'x' was deleted in local [local] but was modified in other [graft]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
349 You can use (c)hanged version, leave (d)eleted, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
350 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
351 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
352 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
353 [255] |
42594
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
354 #else |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
355 $ hg graft -r 2 |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
356 grafting 2:* "modify x" (glob) |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
357 merging y and x to y |
d013099c551b
copies: filter invalid copies only at end of pathcopies() (issue6163)
Martin von Zweigbergk <martinvonz@google.com>
parents:
42590
diff
changeset
|
358 #endif |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
359 $ hg co -qC 2 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
360 BROKEN: This should succeed and merge the changes from x into y |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
361 $ hg graft -r 5 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
362 grafting 5:* "rename x to y"* (glob) |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
363 file 'x' was deleted in other [graft] but was modified in local [local]. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
364 You can use (c)hanged version, (d)elete, or leave (u)nresolved. |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
365 What do you want to do? u |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
366 abort: unresolved conflicts, can't continue |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
367 (use 'hg resolve' and 'hg graft --continue') |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
368 [255] |
41760
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
369 |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
370 Copies via null revision (there shouldn't be any) |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
371 $ newrepo |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
372 $ echo x > x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
373 $ hg ci -Aqm 'add x' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
374 $ hg cp x y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
375 $ hg ci -m 'copy x to y' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
376 $ hg co -q null |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
377 $ echo x > x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
378 $ hg ci -Aqm 'add x (again)' |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
379 $ hg l |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
380 @ 2 add x (again) |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
381 x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
382 o 1 copy x to y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
383 | y |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
384 o 0 add x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
385 x |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
386 $ hg debugpathcopies 1 2 |
4ec0ce0fb929
tests: add tests of pathcopies()
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
387 $ hg debugpathcopies 2 1 |
42590
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
388 $ hg graft -r 1 |
ab416b5d9b91
tests: add more tests of copy tracing with removed and re-added files
Martin von Zweigbergk <martinvonz@google.com>
parents:
42589
diff
changeset
|
389 grafting 1:* "copy x to y" (glob) |