view rhodecode/lib/__init__.py @ 3576:c177f304eb40 beta

files: accept URLs with no path and no slash after the revision This kind of URLs will frequently be edited by hand and trailing slashes are usually just ignored.
author Mads Kiilerich <madski@unity3d.com>
date Thu, 21 Mar 2013 11:26:58 +0100
parents b5a5a60608a7
children 3563bb7b4b82 2b5f94fc3b7a
line wrap: on
line source

import os


def get_current_revision(quiet=False):
    """
    Returns tuple of (number, id) from repository containing this package
    or None if repository could not be found.

    :param quiet: prints error for fetching revision if True
    """

    try:
        from rhodecode.lib.vcs import get_repo
        from rhodecode.lib.vcs.utils.helpers import get_scm
        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 Exception, err:
        if not quiet:
            print ("WARNING: Cannot retrieve rhodecode's revision. "
                   "disregard this if you don't know what that means. "
                   "Original error was: %s" % err)
        return None