D2279: node: make bin() be a wrapper instead of just an alias
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Fri Feb 16 22:13:57 UTC 2018
This revision was automatically updated to reflect the committed changes.
Closed by commit rHGaba1d578c97f: node: make bin() be a wrapper instead of just an alias (authored by durin42, committed by ).
REPOSITORY
rHG Mercurial
CHANGES SINCE LAST UPDATE
https://phab.mercurial-scm.org/D2279?vs=5784&id=5788
REVISION DETAIL
https://phab.mercurial-scm.org/D2279
AFFECTED FILES
hgext/histedit.py
mercurial/node.py
mercurial/revlog.py
CHANGE DETAILS
diff --git a/mercurial/revlog.py b/mercurial/revlog.py
--- a/mercurial/revlog.py
+++ b/mercurial/revlog.py
@@ -13,7 +13,6 @@
from __future__ import absolute_import
-import binascii
import collections
import contextlib
import errno
@@ -1430,7 +1429,7 @@
if maybewdir:
raise error.WdirUnsupported
return None
- except (TypeError, binascii.Error):
+ except TypeError:
pass
def lookup(self, id):
diff --git a/mercurial/node.py b/mercurial/node.py
--- a/mercurial/node.py
+++ b/mercurial/node.py
@@ -11,7 +11,14 @@
# This ugly style has a noticeable effect in manifest parsing
hex = binascii.hexlify
-bin = binascii.unhexlify
+# Adapt to Python 3 API changes. If this ends up showing up in
+# profiles, we can use this version only on Python 3, and forward
+# binascii.unhexlify like we used to on Python 2.
+def bin(s):
+ try:
+ return binascii.unhexlify(s)
+ except binascii.Error as e:
+ raise TypeError(e)
nullrev = -1
nullid = b"\0" * 20
diff --git a/hgext/histedit.py b/hgext/histedit.py
--- a/hgext/histedit.py
+++ b/hgext/histedit.py
@@ -183,7 +183,6 @@
from __future__ import absolute_import
-import binascii
import errno
import os
@@ -426,7 +425,7 @@
rulehash = rule.strip().split(' ', 1)[0]
try:
rev = node.bin(rulehash)
- except (TypeError, binascii.Error):
+ except TypeError:
raise error.ParseError("invalid changeset %s" % rulehash)
return cls(state, rev)
To: durin42, #hg-reviewers, martinvonz, indygreg
Cc: martinvonz, mercurial-devel
More information about the Mercurial-devel
mailing list