285 checkcopies(f, m1, m2) |
285 checkcopies(f, m1, m2) |
286 for f in u2: |
286 for f in u2: |
287 checkcopies(f, m2, m1) |
287 checkcopies(f, m2, m1) |
288 |
288 |
289 renamedelete = {} |
289 renamedelete = {} |
|
290 renamedelete2 = set() |
290 diverge2 = set() |
291 diverge2 = set() |
291 for of, fl in diverge.items(): |
292 for of, fl in diverge.items(): |
292 if len(fl) == 1 or of in c1 or of in c2: |
293 if len(fl) == 1 or of in c1 or of in c2: |
293 del diverge[of] # not actually divergent, or not a rename |
294 del diverge[of] # not actually divergent, or not a rename |
294 if of not in c1 and of not in c2: |
295 if of not in c1 and of not in c2: |
295 # renamed on one side, deleted on the other side, but filter |
296 # renamed on one side, deleted on the other side, but filter |
296 # out files that have been renamed and then deleted |
297 # out files that have been renamed and then deleted |
297 renamedelete[of] = [f for f in fl if f in c1 or f in c2] |
298 renamedelete[of] = [f for f in fl if f in c1 or f in c2] |
|
299 renamedelete2.update(fl) # reverse map for below |
298 else: |
300 else: |
299 diverge2.update(fl) # reverse map for below |
301 diverge2.update(fl) # reverse map for below |
300 |
302 |
301 if fullcopy: |
303 if fullcopy: |
302 repo.ui.debug(" all copies found (* = to merge, ! = divergent):\n") |
304 repo.ui.debug(" all copies found (* = to merge, ! = divergent, " |
|
305 "% = renamed and deleted):\n") |
303 for f in fullcopy: |
306 for f in fullcopy: |
304 note = "" |
307 note = "" |
305 if f in copy: |
308 if f in copy: |
306 note += "*" |
309 note += "*" |
307 if f in diverge2: |
310 if f in diverge2: |
308 note += "!" |
311 note += "!" |
|
312 if f in renamedelete2: |
|
313 note += "%" |
309 repo.ui.debug(" %s -> %s %s\n" % (f, fullcopy[f], note)) |
314 repo.ui.debug(" %s -> %s %s\n" % (f, fullcopy[f], note)) |
310 del diverge2 |
315 del diverge2 |
311 |
316 |
312 if not fullcopy: |
317 if not fullcopy: |
313 return copy, diverge, renamedelete |
318 return copy, diverge, renamedelete |