##// END OF EJS Templates
copies: correctly skip directories that have already been considered...
Kyle Lippincott -
r39299:eebd5918 default
parent child Browse files
Show More
@@ -593,16 +593,16 b' def _fullcopytracing(repo, c1, c2, base)'
593 continue
593 continue
594 elif dsrc in d1 and ddst in d1:
594 elif dsrc in d1 and ddst in d1:
595 # directory wasn't entirely moved locally
595 # directory wasn't entirely moved locally
596 invalid.add(dsrc + "/")
596 invalid.add(dsrc)
597 elif dsrc in d2 and ddst in d2:
597 elif dsrc in d2 and ddst in d2:
598 # directory wasn't entirely moved remotely
598 # directory wasn't entirely moved remotely
599 invalid.add(dsrc + "/")
599 invalid.add(dsrc)
600 elif dsrc + "/" in dirmove and dirmove[dsrc + "/"] != ddst + "/":
600 elif dsrc in dirmove and dirmove[dsrc] != ddst:
601 # files from the same directory moved to two different places
601 # files from the same directory moved to two different places
602 invalid.add(dsrc + "/")
602 invalid.add(dsrc)
603 else:
603 else:
604 # looks good so far
604 # looks good so far
605 dirmove[dsrc + "/"] = ddst + "/"
605 dirmove[dsrc] = ddst
606
606
607 for i in invalid:
607 for i in invalid:
608 if i in dirmove:
608 if i in dirmove:
@@ -612,6 +612,8 b' def _fullcopytracing(repo, c1, c2, base)'
612 if not dirmove:
612 if not dirmove:
613 return copy, {}, diverge, renamedelete, {}
613 return copy, {}, diverge, renamedelete, {}
614
614
615 dirmove = {k + "/": v + "/" for k, v in dirmove.iteritems()}
616
615 for d in dirmove:
617 for d in dirmove:
616 repo.ui.debug(" discovered dir src: '%s' -> dst: '%s'\n" %
618 repo.ui.debug(" discovered dir src: '%s' -> dst: '%s'\n" %
617 (d, dirmove[d]))
619 (d, dirmove[d]))
General Comments 0
You need to be logged in to leave comments. Login now