##// 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 475 pass # we'll deal with it on m1 side
476 476 elif f in movewithdir:
477 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 482 actions['dg'].append((f2, (f, fl2),
479 483 "local directory rename - get from " + f))
480 484 elif f in copy:
@@ -127,29 +127,36 b' BROKEN: the uncommitted file is overwrit'
127 127 Local directory rename with conflicting file added in remote source directory
128 128 and committed in local target directory.
129 129
130 BROKEN: the local file is overwritten; it should be merged
131
132 130 $ hg co -qC 1
133 131 $ echo target > b/c
134 132 $ hg add b/c
135 133 $ hg commit -qm 'new file in target directory'
136 134 $ hg merge 2
137 1 files updated, 0 files merged, 0 files removed, 0 files unresolved
138 (branch merge, don't forget to commit)
135 merging b/c and a/c to b/c
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 141 $ hg st -A
140 A b/c
142 M b/c
141 143 a/c
142 144 ? a/d
145 ? b/c.orig
143 146 C b/a
144 147 C b/b
145 148 $ cat b/c
149 <<<<<<< local: f1c50ca4f127 - test: new file in target directory
150 target
151 =======
146 152 baz
153 >>>>>>> other: ce36d17b18fb - test: 2 add a/c
154 $ rm b/c.orig
147 155
148 156 Remote directory rename with conflicting file added in remote target directory
149 157 and committed in local source directory.
150 158
151 159 $ hg co -qC 2
152 $ rm b/c
153 160 $ hg st -A
154 161 ? a/d
155 162 C a/a
General Comments 0
You need to be logged in to leave comments. Login now