changeset 38305:80f6e95fac2d

cvsps: avoid comparison between None and a tuple in date sorting Avoids badness on Python 3. I had to figure out which entries in this object *could* be None experimentally, but I think I've got them all now. Differential Revision: https://phab.mercurial-scm.org/D3723
author Augie Fackler <augie@google.com>
date Tue, 12 Jun 2018 18:24:25 -0400
parents 9f56ad50924d
children bec815f991b0
files hgext/convert/cvsps.py
diffstat 1 files changed, 7 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/hgext/convert/cvsps.py	Tue Jun 12 18:21:41 2018 -0400
+++ b/hgext/convert/cvsps.py	Tue Jun 12 18:24:25 2018 -0400
@@ -567,11 +567,15 @@
     mindate = {}
     for e in log:
         if e.commitid:
-            mindate[e.commitid] = min(e.date, mindate.get(e.commitid))
+            if e.commitid not in mindate:
+                mindate[e.commitid] = e.date
+            else:
+                mindate[e.commitid] = min(e.date, mindate[e.commitid])
 
     # Merge changesets
-    log.sort(key=lambda x: (mindate.get(x.commitid), x.commitid, x.comment,
-                            x.author, x.branch, x.date, x.branchpoints))
+    log.sort(key=lambda x: (mindate.get(x.commitid, (-1, 0)),
+                            x.commitid or '', x.comment,
+                            x.author, x.branch or '', x.date, x.branchpoints))
 
     changesets = []
     files = set()