diff rhodecode/lib/utils.py @ 807:e8c9ff1da9ba beta

added revision into version for beta
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 05 Dec 2010 00:52:11 +0100
parents 277427ac29a9
children 9753e0907827
line wrap: on
line diff
--- a/rhodecode/lib/utils.py	Fri Dec 03 22:38:36 2010 +0100
+++ b/rhodecode/lib/utils.py	Sun Dec 05 00:52:11 2010 +0100
@@ -29,7 +29,6 @@
 import logging
 import datetime
 import traceback
-import ConfigParser
 
 from UserDict import DictMixin
 
@@ -443,6 +442,24 @@
                                                              'memory')
             beaker.cache.cache_regions[region] = region_settings
 
+def get_current_revision():
+    """
+    Returns tuple of (number, id) from repository containing this package
+    or None if repository could not be found.
+    """
+    try:
+        from vcs import get_repo
+        from vcs.utils.helpers import get_scm
+        from vcs.exceptions import RepositoryError, VCSError
+        repopath = os.path.join(os.path.dirname(__file__), '..', '..')
+        scm = get_scm(repopath)[0]
+        repo = get_repo(path=repopath, alias=scm)
+        tip = repo.get_changeset()
+        return (tip.revision, tip.short_id)
+    except (ImportError, RepositoryError, VCSError), err:
+        logging.debug("Cannot retrieve rhodecode's revision. Original error "
+                      "was: %s" % err)
+        return None
 
 #===============================================================================
 # TEST FUNCTIONS AND CREATORS