comparison mercurial/copies.py @ 26317:07ac78ba2e37

copies: rename diverge2 to divergeset for clarity
author Matt Mackall <mpm@selenic.com>
date Wed, 19 Aug 2015 14:04:54 -0500
parents d5618e210191
children 4b9bb1616195
comparison
equal deleted inserted replaced
26316:d5618e210191 26317:07ac78ba2e37
339 movewithdir = dict(movewithdir1.items() + movewithdir2.items()) 339 movewithdir = dict(movewithdir1.items() + movewithdir2.items())
340 fullcopy = dict(fullcopy1.items() + fullcopy2.items()) 340 fullcopy = dict(fullcopy1.items() + fullcopy2.items())
341 341
342 renamedelete = {} 342 renamedelete = {}
343 renamedelete2 = set() 343 renamedelete2 = set()
344 diverge2 = set() 344 divergeset = set()
345 for of, fl in diverge.items(): 345 for of, fl in diverge.items():
346 if len(fl) == 1 or of in c1 or of in c2: 346 if len(fl) == 1 or of in c1 or of in c2:
347 del diverge[of] # not actually divergent, or not a rename 347 del diverge[of] # not actually divergent, or not a rename
348 if of not in c1 and of not in c2: 348 if of not in c1 and of not in c2:
349 # renamed on one side, deleted on the other side, but filter 349 # renamed on one side, deleted on the other side, but filter
350 # out files that have been renamed and then deleted 350 # out files that have been renamed and then deleted
351 renamedelete[of] = [f for f in fl if f in c1 or f in c2] 351 renamedelete[of] = [f for f in fl if f in c1 or f in c2]
352 renamedelete2.update(fl) # reverse map for below 352 renamedelete2.update(fl) # reverse map for below
353 else: 353 else:
354 diverge2.update(fl) # reverse map for below 354 divergeset.update(fl) # reverse map for below
355 355
356 bothnew = sorted(addedinm1 & addedinm2) 356 bothnew = sorted(addedinm1 & addedinm2)
357 if bothnew: 357 if bothnew:
358 repo.ui.debug(" unmatched files new in both:\n %s\n" 358 repo.ui.debug(" unmatched files new in both:\n %s\n"
359 % "\n ".join(bothnew)) 359 % "\n ".join(bothnew))
374 "% = renamed and deleted):\n") 374 "% = renamed and deleted):\n")
375 for f in sorted(fullcopy): 375 for f in sorted(fullcopy):
376 note = "" 376 note = ""
377 if f in copy: 377 if f in copy:
378 note += "*" 378 note += "*"
379 if f in diverge2: 379 if f in divergeset:
380 note += "!" 380 note += "!"
381 if f in renamedelete2: 381 if f in renamedelete2:
382 note += "%" 382 note += "%"
383 repo.ui.debug(" src: '%s' -> dst: '%s' %s\n" % (fullcopy[f], f, 383 repo.ui.debug(" src: '%s' -> dst: '%s' %s\n" % (fullcopy[f], f,
384 note)) 384 note))
385 del diverge2 385 del divergeset
386 386
387 if not fullcopy: 387 if not fullcopy:
388 return copy, movewithdir, diverge, renamedelete 388 return copy, movewithdir, diverge, renamedelete
389 389
390 repo.ui.debug(" checking for directory renames\n") 390 repo.ui.debug(" checking for directory renames\n")