##// END OF EJS Templates
repo group index: clarify that it is repo group that can be created/edited
repo group index: clarify that it is repo group that can be created/edited

File last commit:

r3796:2b5f94fc beta
r3990:d690d0ea default
Show More
workdir.py
31 lines | 1.1 KiB | text/x-python | PythonLexer
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 import re
from rhodecode.lib.vcs.backends.base import BaseWorkdir
from rhodecode.lib.vcs.exceptions import RepositoryError
from rhodecode.lib.vcs.exceptions import BranchDoesNotExistError
class GitWorkdir(BaseWorkdir):
def get_branch(self):
headpath = self.repository._repo.refs.refpath('HEAD')
try:
content = open(headpath).read()
match = re.match(r'^ref: refs/heads/(?P<branch>.+)\n$', content)
if match:
return match.groupdict()['branch']
else:
raise RepositoryError("Couldn't compute workdir's branch")
except IOError:
# Try naive way...
raise RepositoryError("Couldn't compute workdir's branch")
def get_changeset(self):
current revision will show workdir state, not the latest revision
r3796 wk_dir_id = self.repository._repo.refs.as_dict().get('HEAD')
return self.repository.get_changeset(wk_dir_id)
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007
def checkout_branch(self, branch=None):
if branch is None:
branch = self.repository.DEFAULT_BRANCH_NAME
if branch not in self.repository.branches:
raise BranchDoesNotExistError
self.repository.run_git_command(['checkout', branch])