view hgsubversion/layouts/standard.py @ 1013:d507c1a12dcb

layouts: refactor mercurial branch to svn path mapping out of svnmeta This leaves the existing svnmeta.remotename as a proxy to the new layout objects rather than updating any of the callsites.
author David Schleimer <dschleimer@fb.com>
date Wed, 24 Apr 2013 15:23:33 -0700
parents e8cd211684c4
children 0ed7cf23e801
line wrap: on
line source



import base


class StandardLayout(base.BaseLayout):
    """The standard trunk, branches, tags layout"""

    def localname(self, path):
        if path == 'trunk':
            return None
        elif path.startswith('branches/'):
            return path[len('branches/'):]
        return  '../%s' % path

    def remotename(self, branch):
        if branch == 'default' or branch is None:
            return 'trunk'
        elif branch.startswith('../'):
            return branch[3:]
        return 'branches/%s' % branch