Files
@ 17556a81ec6f
Branch filter:
Location: kallithea/rhodecode/lib/__init__.py - annotation
17556a81ec6f
781 B
text/x-python
Make detecting bare Git repositories more robust
Git remote repositories may end on '.git', e.g. myrepo.git. Just checking
for a repository path to end on '.git' causes 'Repository not found' errors
in such a case. To distinguish between bare and normal Git repositories,
check if there is a '/.git' part at the end of the repository path
(i.e. if GIT_DIR is pointing to '.' (bare) or '.git').
Git remote repositories may end on '.git', e.g. myrepo.git. Just checking
for a repository path to end on '.git' causes 'Repository not found' errors
in such a case. To distinguish between bare and normal Git repositories,
check if there is a '/.git' part at the end of the repository path
(i.e. if GIT_DIR is pointing to '.' (bare) or '.git').
70e646b2806a 70e646b2806a 70e646b2806a a9888895b60d 70e646b2806a 70e646b2806a 70e646b2806a cf51bbfb120e a9888895b60d 70e646b2806a 70e646b2806a 70e646b2806a 324ac367a4da 324ac367a4da 70e646b2806a 70e646b2806a 70e646b2806a 70e646b2806a 70e646b2806a 67168195a676 a9888895b60d a9888895b60d a9888895b60d 70e646b2806a | 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 ("Cannot retrieve rhodecode's revision. Original error "
"was: %s" % err)
return None
|