Mercurial > hg
annotate tests/test-copies-in-changeset.t @ 42427:027f1567f97f
copies: separate added/removed files by newline instead of null
This makes it more consistent with how we encode copies
(newline-separated lists of null-separated pairs). This perhaps makes
{extras} a little less readable (?) despite avoiding the escaping. I
don't know how I feel about this patch. I'm okay with it being queued
or dropped.
Differential Revision: https://phab.mercurial-scm.org/D6486
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Thu, 06 Jun 2019 10:07:14 -0700 |
parents | a1f87294471f |
children | 170b070ec6a5 |
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} |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
8 > {extras % "{ifcontains("files", key, "{key}: {value}\n")}"} |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
9 > {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
|
10 > 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
|
11 > [extensions] |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
12 > 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
|
13 > EOF |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
14 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
15 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
|
16 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
17 $ 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
|
18 $ 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
|
19 $ 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
|
20 $ 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
|
21 $ 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
|
22 $ 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
|
23 $ 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
|
24 $ 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
|
25 $ 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
|
26 $ 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
|
27 files: b c d |
42427
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
28 filesadded: 0 |
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
29 1 |
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
30 2 |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
31 |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
32 p1copies: 0\x00a (esc) |
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
33 1\x00a (esc) |
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
34 2\x00a (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
35 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
36 a -> b |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
37 a -> c |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
38 a -> d |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
39 $ 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
|
40 a -> b |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
41 a -> c |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
42 a -> d |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
43 $ 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
|
44 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 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
|
46 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
47 $ 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
|
48 $ 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
|
49 $ 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
|
50 files: b b2 |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
51 filesadded: 1 |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
52 filesremoved: 0 |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
53 |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
54 p1copies: 1\x00b (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
55 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
56 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
|
57 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
58 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
|
59 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
|
60 |
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 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
|
62 $ 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
|
63 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
|
64 b2 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
65 $ 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
|
66 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
|
67 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
|
68 $ 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
|
69 $ 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
|
70 files: c |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
71 |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
72 p1copies: 0\x00b2 (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
73 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
74 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
|
75 $ 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
|
76 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
|
77 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
|
78 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
79 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
|
80 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
81 $ 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
|
82 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
|
83 $ 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
|
84 $ 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
|
85 $ 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
|
86 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
|
87 $ 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
|
88 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
|
89 (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
|
90 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
|
91 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
|
92 $ 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
|
93 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
|
94 $ 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
|
95 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
|
96 $ 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
|
97 $ 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
|
98 $ 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
|
99 files: g h i |
42427
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
100 filesadded: 0 |
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
101 1 |
027f1567f97f
copies: separate added/removed files by newline instead of null
Martin von Zweigbergk <martinvonz@google.com>
parents:
42426
diff
changeset
|
102 2 |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
103 |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
104 p1copies: 0\x00a (esc) |
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
105 2\x00f (esc) |
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
106 p2copies: 1\x00d (esc) |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
107 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
108 a -> g |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
109 d -> h |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
110 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
|
111 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
112 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
|
113 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
114 $ 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
|
115 $ 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
|
116 $ 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
|
117 files: j |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
118 filesadded: 0 |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
119 filesremoved: |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
120 |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
121 p1copies: 0\x00a (esc) |
42300
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
122 p2copies: |
42141
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 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
|
124 \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
|
125 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
|
126 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
|
127 \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
|
128 a |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
129 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
130 a -> j |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
131 $ 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
|
132 a -> j |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
133 $ 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
|
134 a -> j |
42300
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
135 The entries should be written to extras even if they're empty (so the client |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
136 won't have to fall back to reading from filelogs) |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
137 $ echo x >> j |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
138 $ hg ci -m 'modify j' --config experimental.copies.write-to=compatibility |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
139 $ hg changesetcopies |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
140 files: j |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
141 filesadded: |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
142 filesremoved: |
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
143 |
42300
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
144 p1copies: |
278dcb24e535
copies: write empty entries in changeset when also writing to filelog
Martin von Zweigbergk <martinvonz@google.com>
parents:
42291
diff
changeset
|
145 p2copies: |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
146 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
147 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
|
148 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
149 $ 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
|
150 $ 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
|
151 $ 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
|
152 files: k |
42406
f385ba70e4af
changelog: optionally store added and removed files in changeset extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42300
diff
changeset
|
153 |
42141
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
154 $ 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
|
155 \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
|
156 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
|
157 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
|
158 \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
|
159 a |
42142
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
160 $ hg showcopies |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
161 $ 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
|
162 a -> k |
5382d8f8530b
changelog: parse copy metadata if available in extras
Martin von Zweigbergk <martinvonz@google.com>
parents:
42141
diff
changeset
|
163 $ 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
|
164 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
|
165 |
0e41f40b01cc
copies: add config option for writing copy metadata to file and/or changset
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
166 $ cd .. |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
167 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
168 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
|
169 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
170 $ hg init rebase-rename |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
171 $ cd rebase-rename |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
172 $ echo a > a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
173 $ 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
|
174 $ echo a2 > a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
175 $ 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
|
176 $ hg co -q 0 |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
177 $ hg mv a b |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
178 $ 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
|
179 $ hg rebase -d 1 --config rebase.experimental.inmemory=yes |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
180 rebasing 2:fc7287ac5b9b "rename a to b" (tip) |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
181 merging a and b to b |
42426
a1f87294471f
copies: also encode p[12]copies destination as index into "files" list
Martin von Zweigbergk <martinvonz@google.com>
parents:
42406
diff
changeset
|
182 saved backup bundle to $TESTTMP/rebase-rename/.hg/strip-backup/fc7287ac5b9b-8f2a95ec-rebase.hg |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
183 $ hg st --change . --copies |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
184 A b |
42291
a13b30555ffb
context: reuse changectx._copies() in all but workingctx
Martin von Zweigbergk <martinvonz@google.com>
parents:
42289
diff
changeset
|
185 a |
42289
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
186 R a |
83b225fbd788
tests: demonstrate loss of changeset copy metadata on rebase
Martin von Zweigbergk <martinvonz@google.com>
parents:
42142
diff
changeset
|
187 $ cd .. |