##// END OF EJS Templates
merge: don't overwrite conflicting file in locally renamed directory...
Martin von Zweigbergk -
r23476:39a12719 default
parent child Browse files
Show More
@@ -475,6 +475,10 b' def manifestmerge(repo, wctx, p2, pa, br'
475 pass # we'll deal with it on m1 side
475 pass # we'll deal with it on m1 side
476 elif f in movewithdir:
476 elif f in movewithdir:
477 f2 = movewithdir[f]
477 f2 = movewithdir[f]
478 if f2 in m1:
479 actions['m'].append((f2, (f2, f, None, False, pa.node()),
480 "local directory rename, both created"))
481 else:
478 actions['dg'].append((f2, (f, fl2),
482 actions['dg'].append((f2, (f, fl2),
479 "local directory rename - get from " + f))
483 "local directory rename - get from " + f))
480 elif f in copy:
484 elif f in copy:
@@ -127,29 +127,36 b' BROKEN: the uncommitted file is overwrit'
127 Local directory rename with conflicting file added in remote source directory
127 Local directory rename with conflicting file added in remote source directory
128 and committed in local target directory.
128 and committed in local target directory.
129
129
130 BROKEN: the local file is overwritten; it should be merged
131
132 $ hg co -qC 1
130 $ hg co -qC 1
133 $ echo target > b/c
131 $ echo target > b/c
134 $ hg add b/c
132 $ hg add b/c
135 $ hg commit -qm 'new file in target directory'
133 $ hg commit -qm 'new file in target directory'
136 $ hg merge 2
134 $ hg merge 2
137 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
135 merging b/c and a/c to b/c
138 (branch merge, don't forget to commit)
136 warning: conflicts during merge.
137 merging b/c incomplete! (edit conflicts, then use 'hg resolve --mark')
138 0 files updated, 0 files merged, 0 files removed, 1 files unresolved
139 use 'hg resolve' to retry unresolved file merges or 'hg update -C .' to abandon
140 [1]
139 $ hg st -A
141 $ hg st -A
140 A b/c
142 M b/c
141 a/c
143 a/c
142 ? a/d
144 ? a/d
145 ? b/c.orig
143 C b/a
146 C b/a
144 C b/b
147 C b/b
145 $ cat b/c
148 $ cat b/c
149 <<<<<<< local: f1c50ca4f127 - test: new file in target directory
150 target
151 =======
146 baz
152 baz
153 >>>>>>> other: ce36d17b18fb - test: 2 add a/c
154 $ rm b/c.orig
147
155
148 Remote directory rename with conflicting file added in remote target directory
156 Remote directory rename with conflicting file added in remote target directory
149 and committed in local source directory.
157 and committed in local source directory.
150
158
151 $ hg co -qC 2
159 $ hg co -qC 2
152 $ rm b/c
153 $ hg st -A
160 $ hg st -A
154 ? a/d
161 ? a/d
155 C a/a
162 C a/a
General Comments 0
You need to be logged in to leave comments. Login now