196 if overwrite: |
196 if overwrite: |
197 pa = p1 |
197 pa = p1 |
198 elif pa == p2: # backwards |
198 elif pa == p2: # backwards |
199 pa = p1.p1() |
199 pa = p1.p1() |
200 elif pa and repo.ui.configbool("merge", "followcopies", True): |
200 elif pa and repo.ui.configbool("merge", "followcopies", True): |
201 copy, diverge = copies.mergecopies(repo, p1, p2, pa) |
201 copy, diverge, renamedelete = copies.mergecopies(repo, p1, p2, pa) |
202 for of, fl in diverge.iteritems(): |
202 for of, fl in diverge.iteritems(): |
203 act("divergent renames", "dr", of, fl) |
203 act("divergent renames", "dr", of, fl) |
|
204 for of, fl in renamedelete.iteritems(): |
|
205 act("rename and delete", "rd", of, fl) |
204 |
206 |
205 repo.ui.note(_("resolving manifests\n")) |
207 repo.ui.note(_("resolving manifests\n")) |
206 repo.ui.debug(" overwrite: %s, partial: %s\n" |
208 repo.ui.debug(" overwrite: %s, partial: %s\n" |
207 % (bool(overwrite), bool(partial))) |
209 % (bool(overwrite), bool(partial))) |
208 repo.ui.debug(" ancestor: %s, local: %s, remote: %s\n" % (pa, p1, p2)) |
210 repo.ui.debug(" ancestor: %s, local: %s, remote: %s\n" % (pa, p1, p2)) |
407 fl = a[2] |
409 fl = a[2] |
408 repo.ui.warn(_("note: possible conflict - %s was renamed " |
410 repo.ui.warn(_("note: possible conflict - %s was renamed " |
409 "multiple times to:\n") % f) |
411 "multiple times to:\n") % f) |
410 for nf in fl: |
412 for nf in fl: |
411 repo.ui.warn(" %s\n" % nf) |
413 repo.ui.warn(" %s\n" % nf) |
|
414 elif m == "rd": # rename and delete |
|
415 fl = a[2] |
|
416 repo.ui.warn(_("note: possible conflict - %s was deleted " |
|
417 "and renamed to:\n") % f) |
|
418 for nf in fl: |
|
419 repo.ui.warn(" %s\n" % nf) |
412 elif m == "e": # exec |
420 elif m == "e": # exec |
413 flags = a[2] |
421 flags = a[2] |
414 repo.wopener.audit(f) |
422 repo.wopener.audit(f) |
415 util.setflags(repo.wjoin(f), 'l' in flags, 'x' in flags) |
423 util.setflags(repo.wjoin(f), 'l' in flags, 'x' in flags) |
416 ms.commit() |
424 ms.commit() |