Mercurial > hg
comparison tests/test-pathconflicts-merge.t @ 34558:f71c712ebdec
tests: add test for path conflicts during merge
Differential Revision: https://phab.mercurial-scm.org/D787
author | Mark Thomas <mbthomas@fb.com> |
---|---|
date | Mon, 02 Oct 2017 14:05:30 -0700 |
parents | |
children | 75bd034a1e00 |
comparison
equal
deleted
inserted
replaced
34557:3b9428f4403d | 34558:f71c712ebdec |
---|---|
1 $ hg init repo | |
2 $ cd repo | |
3 $ echo base > base | |
4 $ hg add base | |
5 $ hg commit -m "base" | |
6 $ hg bookmark -i base | |
7 $ mkdir a | |
8 $ echo 1 > a/b | |
9 $ hg add a/b | |
10 $ hg commit -m "file" | |
11 $ hg bookmark -i file | |
12 $ echo 2 > a/b | |
13 $ hg commit -m "file2" | |
14 $ hg bookmark -i file2 | |
15 $ hg up 0 | |
16 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
17 $ mkdir a | |
18 $ ln -s c a/b | |
19 $ hg add a/b | |
20 $ hg commit -m "link" | |
21 created new head | |
22 $ hg bookmark -i link | |
23 $ hg up 0 | |
24 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
25 $ mkdir -p a/b/c | |
26 $ echo 2 > a/b/c/d | |
27 $ hg add a/b/c/d | |
28 $ hg commit -m "dir" | |
29 created new head | |
30 $ hg bookmark -i dir | |
31 | |
32 Merge - local file conflicts with remote directory | |
33 | |
34 $ hg up file | |
35 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
36 (activating bookmark file) | |
37 $ hg bookmark -i | |
38 $ hg merge --verbose dir | |
39 resolving manifests | |
40 a/b: path conflict - a file or link has the same name as a directory | |
41 the local file has been renamed to a/b~0ed027b96f31 | |
42 resolve manually then use 'hg resolve --mark a/b' | |
43 moving a/b to a/b~0ed027b96f31 (glob) | |
44 getting a/b/c/d | |
45 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
46 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
47 [1] | |
48 $ hg status | |
49 M a/b/c/d | |
50 A a/b~0ed027b96f31 | |
51 R a/b | |
52 $ hg resolve --all | |
53 a/b: path conflict must be resolved manually | |
54 $ hg forget a/b~0ed027b96f31 && rm a/b~0ed027b96f31 | |
55 $ hg resolve --mark a/b | |
56 (no more unresolved files) | |
57 $ hg commit -m "merge file and dir (deleted file)" | |
58 | |
59 Merge - local symlink conflicts with remote directory | |
60 | |
61 $ hg up link | |
62 1 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
63 (activating bookmark link) | |
64 $ hg bookmark -i | |
65 $ hg merge dir | |
66 a/b: path conflict - a file or link has the same name as a directory | |
67 the local file has been renamed to a/b~2ea68033e3be | |
68 resolve manually then use 'hg resolve --mark a/b' | |
69 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
70 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
71 [1] | |
72 $ hg status | |
73 M a/b/c/d | |
74 A a/b~2ea68033e3be | |
75 R a/b | |
76 $ hg resolve --list | |
77 P a/b | |
78 $ hg resolve --all | |
79 a/b: path conflict must be resolved manually | |
80 $ hg mv a/b~2ea68033e3be a/b.old | |
81 $ hg resolve --mark a/b | |
82 (no more unresolved files) | |
83 $ hg resolve --list | |
84 R a/b | |
85 $ hg commit -m "merge link and dir (renamed link)" | |
86 | |
87 Merge - local directory conflicts with remote file or link | |
88 | |
89 $ hg up dir | |
90 0 files updated, 0 files merged, 1 files removed, 0 files unresolved | |
91 (activating bookmark dir) | |
92 $ hg bookmark -i | |
93 $ hg merge file | |
94 a/b: path conflict - a file or link has the same name as a directory | |
95 the remote file has been renamed to a/b~0ed027b96f31 | |
96 resolve manually then use 'hg resolve --mark a/b' | |
97 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
98 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
99 [1] | |
100 $ hg status | |
101 A a/b~0ed027b96f31 | |
102 $ hg resolve --all | |
103 a/b: path conflict must be resolved manually | |
104 $ hg mv a/b~0ed027b96f31 a/b/old-b | |
105 $ hg resolve --mark a/b | |
106 (no more unresolved files) | |
107 $ hg commit -m "merge dir and file (move file into dir)" | |
108 created new head | |
109 $ hg merge file2 | |
110 merging a/b/old-b and a/b to a/b/old-b | |
111 0 files updated, 1 files merged, 0 files removed, 0 files unresolved | |
112 (branch merge, don't forget to commit) | |
113 $ cat a/b/old-b | |
114 2 | |
115 $ hg commit -m "merge file2 (copytrace tracked rename)" | |
116 $ hg merge link | |
117 a/b: path conflict - a file or link has the same name as a directory | |
118 the remote file has been renamed to a/b~2ea68033e3be | |
119 resolve manually then use 'hg resolve --mark a/b' | |
120 1 files updated, 0 files merged, 0 files removed, 1 files unresolved | |
121 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon | |
122 [1] | |
123 $ hg mv a/b~2ea68033e3be a/b.old | |
124 $ readlink a/b.old | |
125 c | |
126 $ hg resolve --mark a/b | |
127 (no more unresolved files) | |
128 $ hg commit -m "merge link (rename link)" |