[pypy-svn] r72194 - in pypy/trunk/pypy/module/sys: . test

arigo at codespeak.net arigo at codespeak.net
Sat Mar 13 09:55:57 CET 2010


Author: arigo
Date: Sat Mar 13 09:55:55 2010
New Revision: 72194

Added:
   pypy/trunk/pypy/module/sys/test/test_version.py   (contents, props changed)
Modified:
   pypy/trunk/pypy/module/sys/version.py
Log:
A fix for (among others I fear) git mirrors in which the REV turns
up as an empty string.


Added: pypy/trunk/pypy/module/sys/test/test_version.py
==============================================================================
--- (empty file)
+++ pypy/trunk/pypy/module/sys/test/test_version.py	Sat Mar 13 09:55:55 2010
@@ -0,0 +1,5 @@
+from pypy.module.sys.version import rev2int
+
+def test_rev2int():
+    assert rev2int("71630") == 71630
+    assert rev2int("") == 0

Modified: pypy/trunk/pypy/module/sys/version.py
==============================================================================
--- pypy/trunk/pypy/module/sys/version.py	(original)
+++ pypy/trunk/pypy/module/sys/version.py	Sat Mar 13 09:55:55 2010
@@ -15,6 +15,18 @@
 
 REV = """$LastChangedRevision$"""[22:-2]
 
+def rev2int(rev):
+    try:
+        return int(rev)
+    except ValueError:
+        import py
+        from pypy.tool.ansi_print import ansi_log
+        log = py.log.Producer("version")
+        py.log.setconsumer("version", ansi_log)
+        log.ERROR("No subversion revision number available!")
+        log.ERROR("Hard-coding '0'")
+        return 0
+
 
 import pypy
 pypydir = os.path.dirname(os.path.abspath(pypy.__file__))
@@ -85,7 +97,7 @@
     "Return the last-changed svn revision number."
     # NB. we hack the number directly out of the .svn directory to avoid
     # to depend on an external 'svn' executable in the path.
-    rev = int(REV)
+    rev = rev2int(REV)
     try:
         formatfile = os.path.join(pypydir, '.svn', 'format')
         if os.path.exists(formatfile):



More information about the Pypy-commit mailing list