view __init__.py @ 45:ce00e6ffaa90

Change the implementation of the ra_session stuff. Thanks to Ben Collins-Sussman for pointing out the problem with the other method I was using. Note: this may appear to break commits over certain ra layers. Those layers were probably not working properly anyway.
author Augie Fackler <durin42@gmail.com>
date Tue, 28 Oct 2008 22:52:58 -0500
parents f2636cfed115
children fb1d911bb0be
line wrap: on
line source

from mercurial import commands
from mercurial import hg

import svncommand
import fetch_command

def svn(ui, repo, subcommand, *args, **opts):
    return svncommand.svncmd(ui, repo, subcommand, *args, **opts)

def svn_fetch(ui, svn_url, hg_repo_path=None, **opts):
    if not hg_repo_path:
        hg_repo_path = hg.defaultdest(svn_url) + "-hg"
        ui.status("Assuming destination %s\n" % hg_repo_path)
    return fetch_command.fetch_revisions(ui, svn_url, hg_repo_path, **opts)

commands.norepo += " svnclone"
cmdtable = {
    "svn":
        (svn,
         [('u', 'svn_url', '', 'Path to the Subversion server.'),
          ('', 'stupid', False, 'Be stupid and use diffy replay.'),
          ],
         'hg svn subcommand'),
    "svnclone" :(svn_fetch,
         [('S', 'skipto_rev', '0', 'Skip commits before this revision.'),
          ('', 'stupid', False, 'Be stupid and use diffy replay.'),
          ('T', 'tag_locations', 'tags', 'Relative path to where tags get '
           'stored, as comma sep. values if there is more than one such path.')
         ],
         'hg svn_fetch svn_url, dest'),
}