Mercurial > kallithea
view rhodecode/lib/vcs/backends/git/workdir.py @ 4186:7e5f8c12a3fc kallithea-2.2.5-rebrand
First step in two-part process to rename directories to kallithea.
This first step is to change all references in the files where they refer
to the old directory name.
author | Bradley M. Kuhn <bkuhn@sfconservancy.org> |
---|---|
date | Wed, 02 Jul 2014 19:04:28 -0400 |
parents | 2b5f94fc3b7a |
children |
line wrap: on
line source
import re from kallithea.lib.vcs.backends.base import BaseWorkdir from kallithea.lib.vcs.exceptions import RepositoryError from kallithea.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): wk_dir_id = self.repository._repo.refs.as_dict().get('HEAD') return self.repository.get_changeset(wk_dir_id) 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])