Mercurial > kallithea
changeset 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 | 499fa8e87c90 |
children | 1af15d66838f |
files | rhodecode/__init__.py rhodecode/lib/utils.py |
diffstat | 2 files changed, 38 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/__init__.py Fri Dec 03 22:38:36 2010 +0100 +++ b/rhodecode/__init__.py Sun Dec 05 00:52:11 2010 +0100 @@ -1,8 +1,16 @@ -#!/usr/bin/env python -# encoding: utf-8 -# RhodeCode, a web based repository management based on pylons -# Copyright (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com> -# +# -*- coding: utf-8 -*- +""" + package.rhodecode.__init__ + ~~~~~~~~~~~~~~ + + RhodeCode, a web based repository management based on pylons + versioning implementation: http://semver.org/ + + :created_on: Apr 9, 2010 + :author: marcink + :copyright: (C) 2009-2010 Marcin Kuzminski <marcin@python-works.com> + :license: GPLv3, see COPYING for more details. +""" # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; version 2 @@ -17,16 +25,16 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, # MA 02110-1301, USA. -""" -Created on April 9, 2010 -RhodeCode, a web based repository management based on pylons -versioning implementation: http://semver.org/ -@author: marcink -""" + VERSION = (1, 1, 0, 'beta') +__version__ = '.'.join((str(each) for each in VERSION[:4])) -__version__ = '.'.join((str(each) for each in VERSION[:4])) + +from rhodecode.lib.utils import get_current_revision +_rev = get_current_revision() +if 'beta' in VERSION and _rev: + __version__ += ' [rev:%s]' % _rev[0] def get_version(): """
--- 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