view rhodecode/lib/vcs/backends/hg/workdir.py @ 2700:f4b20558ae16 beta

allow cloning with hgsubversion (reimplementing pull request 46) sadly I get a exception from hg-git when doing the same for git+http URLs so I did not implement it for hg-git
author domruf <dominikruf@gmail.com>
date Wed, 01 Aug 2012 14:10:26 +0200
parents 03a770980b55
children 2b5f94fc3b7a
line wrap: on
line source

from rhodecode.lib.vcs.backends.base import BaseWorkdir
from rhodecode.lib.vcs.exceptions import BranchDoesNotExistError

from rhodecode.lib.vcs.utils.hgcompat import hg_merge


class MercurialWorkdir(BaseWorkdir):

    def get_branch(self):
        return self.repository._repo.dirstate.branch()

    def get_changeset(self):
        return self.repository.get_changeset()

    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

        hg_merge.update(self.repository._repo, branch, False, False, None)