[PATCH 3 of 9 py3 v3] context: work around `long` not existing on Python 3

Augie Fackler raf at durin42.com
Sun Mar 12 13:59:11 EDT 2017


# HG changeset patch
# User Augie Fackler <augie at google.com>
# Date 1489283824 18000
#      Sat Mar 11 20:57:04 2017 -0500
# Node ID c4a50c84504fe6eaae95915f401e9d6826e4d19f
# Parent  d656211a72279aa55428121be114b4059e7117ab
context: work around `long` not existing on Python 3

I can't figure out what this branch is even trying to accomplish, and
it was introduced in ac89a23ca814 which doesn't really shed any
insight into why longs are treated differently from ints.

diff --git a/mercurial/context.py b/mercurial/context.py
--- a/mercurial/context.py
+++ b/mercurial/context.py
@@ -33,6 +33,7 @@ from . import (
     obsolete as obsmod,
     patch,
     phases,
+    pycompat,
     repoview,
     revlog,
     scmutil,
@@ -419,7 +420,7 @@ class changectx(basectx):
                 self._node = repo.changelog.node(changeid)
                 self._rev = changeid
                 return
-            if isinstance(changeid, long):
+            if not pycompat.ispy3 and isinstance(changeid, long):
                 changeid = str(changeid)
             if changeid == 'null':
                 self._node = nullid


More information about the Mercurial-devel mailing list