Author: Alexander Hesse <[email protected]>
Branch: 
Changeset: r60503:64f878febd11
Date: 2013-01-26 00:24 +0100
http://bitbucket.org/pypy/pypy/changeset/64f878febd11/

Log:    Moved pypy.tool.version to rpython; reverted udir

diff --git a/pypy/module/sys/version.py b/pypy/module/sys/version.py
--- a/pypy/module/sys/version.py
+++ b/pypy/module/sys/version.py
@@ -29,7 +29,7 @@
 import pypy
 pypydir = os.path.dirname(os.path.abspath(pypy.__file__))
 del pypy
-from pypy.tool.version import get_repo_version_info
+from rpython.tool.version import get_repo_version_info
 
 import time as t
 gmtime = t.gmtime()
diff --git a/pypy/tool/test/test_version.py b/rpython/tool/test/test_version.py
rename from pypy/tool/test/test_version.py
rename to rpython/tool/test/test_version.py
--- a/pypy/tool/test/test_version.py
+++ b/rpython/tool/test/test_version.py
@@ -1,6 +1,6 @@
 import os, sys
 import py
-from pypy.tool.version import get_repo_version_info, _get_hg_archive_version
+from rpython.tool.version import get_repo_version_info, _get_hg_archive_version
 
 def test_hg_archival_version(tmpdir):
     def version_for(name, **kw):
@@ -11,14 +11,14 @@
     assert version_for('release',
                        tag='release-123',
                        node='000',
-                      ) == ('PyPy', 'release-123', '000')
+                      ) == ('RPython', 'release-123', '000')
     assert version_for('somebranch',
                        node='000',
                        branch='something',
-                      ) == ('PyPy', 'something', '000')
+                      ) == ('RPython', 'something', '000')
 
 
 def test_get_repo_version_info():
     assert get_repo_version_info(None)
-    assert get_repo_version_info(os.devnull) == ('PyPy', '?', '?')
-    assert get_repo_version_info(sys.executable) == ('PyPy', '?', '?')
+    assert get_repo_version_info(os.devnull) == ('RPython', '?', '?')
+    assert get_repo_version_info(sys.executable) == ('RPython', '?', '?')
diff --git a/rpython/tool/udir.py b/rpython/tool/udir.py
--- a/rpython/tool/udir.py
+++ b/rpython/tool/udir.py
@@ -20,6 +20,7 @@
 import os, sys
 import py
 
+from rpython.tool.version import get_repo_version_info
 from py.path import local 
 
 PYPY_KEEP = int(os.environ.get('PYPY_USESSION_KEEP', '3'))
@@ -28,7 +29,17 @@
     if dir is not None:
         dir = local(dir)
     if basename is None:
-        basename = ''
+        info = get_repo_version_info()
+        if info:
+            project, hgtag, hgid = info
+            basename = hgtag
+            if basename == '?':
+                basename = 'unknown' # directories with ? are not fun
+                # especially on windows
+            if isinstance(basename, unicode):
+                basename = basename.encode(sys.getdefaultencoding())
+        else:
+            basename = ''
     basename = basename.replace('/', '--')
     if not basename.startswith('-'):
         basename = '-' + basename
diff --git a/pypy/tool/version.py b/rpython/tool/version.py
rename from pypy/tool/version.py
rename to rpython/tool/version.py
--- a/pypy/tool/version.py
+++ b/rpython/tool/version.py
@@ -1,10 +1,10 @@
 import py
 import os
 from subprocess import Popen, PIPE
-import pypy
-pypydir = os.path.dirname(os.path.abspath(pypy.__file__))
-pypyroot = os.path.dirname(pypydir)
-default_retval = 'PyPy', '?', '?'
+import rpython
+rpythondir = os.path.dirname(os.path.abspath(rpython.__file__))
+rpythonroot = os.path.dirname(rpythondir)
+default_retval = 'RPython', '?', '?'
 
 def maywarn(err, repo_type='Mercurial'):
     if not err:
@@ -20,16 +20,16 @@
 
     # Try to see if we can get info from Git if hgexe is not specified.
     if not hgexe:
-        if os.path.isdir(os.path.join(pypyroot, '.git')):
+        if os.path.isdir(os.path.join(rpythonroot, '.git')):
             return _get_git_version()
 
     # Fallback to trying Mercurial.
     if hgexe is None:
         hgexe = py.path.local.sysfind('hg')
 
-    if os.path.isfile(os.path.join(pypyroot, '.hg_archival.txt')):
-        return _get_hg_archive_version(os.path.join(pypyroot, 
'.hg_archival.txt'))
-    elif not os.path.isdir(os.path.join(pypyroot, '.hg')):
+    if os.path.isfile(os.path.join(rpythonroot, '.hg_archival.txt')):
+        return _get_hg_archive_version(os.path.join(rpythonroot, 
'.hg_archival.txt'))
+    elif not os.path.isdir(os.path.join(rpythonroot, '.hg')):
         maywarn('Not running from a Mercurial repository!')
         return default_retval
     elif not hgexe:
@@ -57,14 +57,14 @@
         maywarn('command does not identify itself as Mercurial')
         return default_retval
 
-    p = Popen([str(hgexe), 'id', '-i', pypyroot],
+    p = Popen([str(hgexe), 'id', '-i', rpythonroot],
               stdout=PIPE, stderr=PIPE, env=env)
     hgid = p.stdout.read().strip()
     maywarn(p.stderr.read())
     if p.wait() != 0:
         hgid = '?'
 
-    p = Popen([str(hgexe), 'id', '-t', pypyroot],
+    p = Popen([str(hgexe), 'id', '-t', rpythonroot],
               stdout=PIPE, stderr=PIPE, env=env)
     hgtags = [t for t in p.stdout.read().strip().split() if t != 'tip']
     maywarn(p.stderr.read())
@@ -72,15 +72,15 @@
         hgtags = ['?']
 
     if hgtags:
-        return 'PyPy', hgtags[0], hgid
+        return 'RPython', hgtags[0], hgid
     else:
         # use the branch instead
-        p = Popen([str(hgexe), 'id', '-b', pypyroot],
+        p = Popen([str(hgexe), 'id', '-b', rpythonroot],
                   stdout=PIPE, stderr=PIPE, env=env)
         hgbranch = p.stdout.read().strip()
         maywarn(p.stderr.read())
 
-        return 'PyPy', hgbranch, hgid
+        return 'RPython', hgbranch, hgid
 
 
 def _get_hg_archive_version(path):
@@ -90,9 +90,9 @@
     finally:
         fp.close()
     if 'tag' in data:
-        return 'PyPy', data['tag'], data['node']
+        return 'RPython', data['tag'], data['node']
     else:
-        return 'PyPy', data['branch'], data['node']
+        return 'RPython', data['branch'], data['node']
 
 
 def _get_git_version():
@@ -105,7 +105,7 @@
     try:
         p = Popen(
             [str(gitexe), 'rev-parse', 'HEAD'],
-            stdout=PIPE, stderr=PIPE, cwd=pypyroot
+            stdout=PIPE, stderr=PIPE, cwd=rpythonroot
             )
     except OSError, e:
         maywarn(e, 'Git')
@@ -116,16 +116,16 @@
     revision_id = p.stdout.read().strip()[:12]
     p = Popen(
         [str(gitexe), 'describe', '--tags', '--exact-match'],
-        stdout=PIPE, stderr=PIPE, cwd=pypyroot
+        stdout=PIPE, stderr=PIPE, cwd=rpythonroot
         )
     if p.wait() != 0:
         p = Popen(
             [str(gitexe), 'branch'], stdout=PIPE, stderr=PIPE,
-            cwd=pypyroot
+            cwd=rpythonroot
             )
         if p.wait() != 0:
             maywarn(p.stderr.read(), 'Git')
-            return 'PyPy', '?', revision_id
+            return 'RPython', '?', revision_id
         branch = '?'
         for line in p.stdout.read().strip().split('\n'):
             if line.startswith('* '):
@@ -133,8 +133,8 @@
                 if branch == '(no branch)':
                     branch = '?'
                 break
-        return 'PyPy', branch, revision_id
-    return 'PyPy', p.stdout.read().strip(), revision_id
+        return 'RPython', branch, revision_id
+    return 'RPython', p.stdout.read().strip(), revision_id
 
 
 if __name__ == '__main__':
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to