util: avoid using hashlib on Python < 2.5 (issue2278) stable 1.6.3
authorSol Jerome <sol.jerome@gmail.com>
Tue, 17 Aug 2010 17:38:19 -0500
branchstable
changeset 12051 ff5cec76b1c5
parent 12050 c5fd25c1bc4a
child 12052 a4fc3444c542
util: avoid using hashlib on Python < 2.5 (issue2278) The following patch allows the use of python2.4 with a standalone hashlib rather than assuming that python2.5 is in use when hashlib is imported successfully.
mercurial/util.py
--- a/mercurial/util.py	Mon Aug 16 12:55:42 2010 -0500
+++ b/mercurial/util.py	Tue Aug 17 17:38:19 2010 -0500
@@ -28,9 +28,9 @@
     # This function will import sha1 from hashlib or sha (whichever is
     # available) and overwrite itself with it on the first call.
     # Subsequent calls will go directly to the imported function.
-    try:
+    if sys.version_info >= (2, 5):
         from hashlib import sha1 as _sha1
-    except ImportError:
+    else:
         from sha import sha as _sha1
     global _fastsha1, sha1
     _fastsha1 = sha1 = _sha1