##// END OF EJS Templates
convert: handle changeset sorting errors without traceback (issue3961)
Frank Kingswood -
r19505:7b815e38 stable
parent child Browse files
Show More
@@ -496,6 +496,7 b' class changeset(object):'
496 496 .branchpoints- the branches that start at the current entry or empty
497 497 '''
498 498 def __init__(self, **entries):
499 self.id = None
499 500 self.synthetic = False
500 501 self.__dict__.update(entries)
501 502
@@ -604,7 +605,8 b' def createchangeset(ui, log, fuzz=60, me'
604 605
605 606 # Sort changesets by date
606 607
607 def cscmp(l, r):
608 odd = set()
609 def cscmp(l, r, odd=odd):
608 610 d = sum(l.date) - sum(r.date)
609 611 if d:
610 612 return d
@@ -626,7 +628,8 b' def createchangeset(ui, log, fuzz=60, me'
626 628
627 629 for e in r.entries:
628 630 if le.get(e.rcs, None) == e.parent:
629 assert not d
631 if d:
632 odd.add((l, r))
630 633 d = -1
631 634 break
632 635
@@ -769,6 +772,12 b' def createchangeset(ui, log, fuzz=60, me'
769 772 for i, c in enumerate(changesets):
770 773 c.id = i + 1
771 774
775 if odd:
776 for l, r in odd:
777 if l.id is not None and r.id is not None:
778 ui.warn(_('changeset %d is both before and after %d\n')
779 % (l.id, r.id))
780
772 781 ui.status(_('%d changeset entries\n') % len(changesets))
773 782
774 783 hook.hook(ui, None, "cvschangesets", True, changesets=changesets)
General Comments 0
You need to be logged in to leave comments. Login now