Mercurial > hg
annotate tests/test-copies-in-changeset.t @ 42291:a13b30555ffb
context: reuse changectx._copies() in all but workingctx
This moves the dirstate-specific _copies() implementation from
committablectx into workingctx where it should be (I think all
dirstate-specific stuff should be moved into workingctx). The part of
changectx._copies() that is for producing changeset-wide copy dicts
from the filectxs is moved into basectx so it's reused by the other
subclasses. The part of changectx._copies() that's about reading copy
information from the changeset remains there. This fixes in-memory
rebase (and makes `hg convert` able to write copies to changesets).
Differential Revision: https://phab.mercurial-scm.org/D6219
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Fri, 10 May 2019 13:41:42 -0700 |
parents | 83b225fbd788 |
children | 278dcb24e535 |
rev | line source |
---|---|
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 $ cat >> $HGRCPATH << EOF |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 > [experimental] |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 > copies.write-to=changeset-only |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
5 > copies.read-from=changeset-only |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 > [alias] |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 > changesetcopies = log -r . -T 'files: {files} |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 > {extras % "{ifcontains("copies", key, "{key}: {value}\n")}"}' |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
9 > showcopies = log -r . -T '{file_copies % "{source} -> {name}\n"}' |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
10 > [extensions] |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
11 > rebase = |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
12 > EOF |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
13 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 Check that copies are recorded correctly |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
16 $ hg init repo |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 $ cd repo |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
18 $ echo a > a |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
19 $ hg add a |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
20 $ hg ci -m initial |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
21 $ hg cp a b |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
22 $ hg cp a c |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
23 $ hg cp a d |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
24 $ hg ci -m 'copy a to b, c, and d' |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
25 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
26 files: b c d |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
27 p1copies: b\x00a (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
28 c\x00a (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
29 d\x00a (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
30 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
31 a -> b |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
32 a -> c |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
33 a -> d |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
34 $ hg showcopies --config experimental.copies.read-from=compatibility |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
35 a -> b |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
36 a -> c |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
37 a -> d |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
38 $ hg showcopies --config experimental.copies.read-from=filelog-only |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
39 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 Check that renames are recorded correctly |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
42 $ hg mv b b2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
43 $ hg ci -m 'rename b to b2' |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
44 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 files: b b2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
46 p1copies: b2\x00b (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
47 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
48 b -> b2 |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
49 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
50 Rename onto existing file. This should get recorded in the changeset files list and in the extras, |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
51 even though there is no filelog entry. |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
52 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
53 $ hg cp b2 c --force |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
54 $ hg st --copies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
55 M c |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
56 b2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
57 $ hg debugindex c |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 rev linkrev nodeid p1 p2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
59 0 1 b789fdd96dc2 000000000000 000000000000 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
60 $ hg ci -m 'move b onto d' |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
61 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
62 files: c |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
63 p1copies: c\x00b2 (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
64 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
65 b2 -> c |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
66 $ hg debugindex c |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
67 rev linkrev nodeid p1 p2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
68 0 1 b789fdd96dc2 000000000000 000000000000 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
69 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
70 Create a merge commit with copying done during merge. |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
71 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
72 $ hg co 0 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
73 0 files updated, 0 files merged, 3 files removed, 0 files unresolved |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
74 $ hg cp a e |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
75 $ hg cp a f |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
76 $ hg ci -m 'copy a to e and f' |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
77 created new head |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
78 $ hg merge 3 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 3 files updated, 0 files merged, 0 files removed, 0 files unresolved |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
80 (branch merge, don't forget to commit) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 File 'a' exists on both sides, so 'g' could be recorded as being from p1 or p2, but we currently |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
82 always record it as being from p1 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
83 $ hg cp a g |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
84 File 'd' exists only in p2, so 'h' should be from p2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
85 $ hg cp d h |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
86 File 'f' exists only in p1, so 'i' should be from p1 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
87 $ hg cp f i |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
88 $ hg ci -m 'merge' |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
89 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
90 files: g h i |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
91 p1copies: g\x00a (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
92 i\x00f (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
93 p2copies: h\x00d (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
94 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
95 a -> g |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
96 d -> h |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
97 f -> i |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
98 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
99 Test writing to both changeset and filelog |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
100 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
101 $ hg cp a j |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
102 $ hg ci -m 'copy a to j' --config experimental.copies.write-to=compatibility |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
103 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
104 files: j |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
105 p1copies: j\x00a (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
106 $ hg debugdata j 0 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
107 \x01 (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
108 copy: a |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
109 copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
110 \x01 (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
111 a |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
112 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
113 a -> j |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
114 $ hg showcopies --config experimental.copies.read-from=compatibility |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
115 a -> j |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
116 $ hg showcopies --config experimental.copies.read-from=filelog-only |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
117 a -> j |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
118 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
119 Test writing only to filelog |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
120 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
121 $ hg cp a k |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
122 $ hg ci -m 'copy a to k' --config experimental.copies.write-to=filelog-only |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
123 $ hg changesetcopies |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
124 files: k |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
125 $ hg debugdata k 0 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
126 \x01 (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
127 copy: a |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
128 copyrev: b789fdd96dc2f3bd229c1dd8eedf0fc60e2b68e3 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
129 \x01 (esc) |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
130 a |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
131 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
132 $ hg showcopies --config experimental.copies.read-from=compatibility |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
133 a -> k |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
134 $ hg showcopies --config experimental.copies.read-from=filelog-only |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
135 a -> k |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
136 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
137 $ cd .. |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
138 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
139 Test rebasing a commit with copy information |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
140 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
141 $ hg init rebase-rename |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
142 $ cd rebase-rename |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
143 $ echo a > a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
144 $ hg ci -Aqm 'add a' |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
145 $ echo a2 > a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
146 $ hg ci -m 'modify a' |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
147 $ hg co -q 0 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
148 $ hg mv a b |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
149 $ hg ci -qm 'rename a to b' |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
150 $ hg rebase -d 1 --config rebase.experimental.inmemory=yes |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
151 rebasing 2:55d0b405c1b2 "rename a to b" (tip) |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
152 merging a and b to b |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
153 saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/55d0b405c1b2-78df867e-rebase.hg |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
154 $ hg st --change . --copies |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
155 A b |
42291
a13b30555ffb
context: reuse changectx._copies() in all but workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents:
42289
diff
changeset
|
156 a |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
157 R a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
158 $ cd .. |