hgext/convert/transport.py
author Sean Farley <sean.michael.farley@gmail.com>
Sun, 09 Nov 2014 13:15:28 -0800
changeset 23260 565f97e71ce3
parent 17481 b555be7ca830
child 25660 328739ea70c3
permissions -rw-r--r--
sortdict: add iteritems method Future patches will start using sortdict for log operations where order is important. Adding iteritems removes the headache of having to remember to use items() if the object is a sortdict.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     1
# -*- coding: utf-8 -*-
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     2
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     3
# Copyright (C) 2007 Daniel Holth <dholth@fastmail.fm>
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     4
# This is a stripped-down version of the original bzr-svn transport.py,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     5
# Copyright (C) 2006 Jelmer Vernooij <jelmer@samba.org>
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     6
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     7
# This program is free software; you can redistribute it and/or modify
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     8
# it under the terms of the GNU General Public License as published by
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
     9
# the Free Software Foundation; either version 2 of the License, or
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    10
# (at your option) any later version.
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    11
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    12
# This program is distributed in the hope that it will be useful,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    15
# GNU General Public License for more details.
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    16
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License
15782
7de7630053cb Remove FSF mailing address from GPL headers
Martin Geisler <mg@aragost.com>
parents: 15599
diff changeset
    18
# along with this program; if not, see <http://www.gnu.org/licenses/>.
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    19
15345
6e3c560f2fd1 convert: add missing import of util, needed for svn < 1.6
Thomas Arendsen Hein <thomas@intevation.de>
parents: 14945
diff changeset
    20
from mercurial import util
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    21
from svn.core import SubversionException, Pool
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    22
import svn.ra
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    23
import svn.client
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    24
import svn.core
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    25
4957
cdd33a048289 removed trailing whitespace
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4938
diff changeset
    26
# Some older versions of the Python bindings need to be
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    27
# explicitly initialized. But what we want to do probably
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    28
# won't work worth a darn against those libraries anyway!
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    29
svn.ra.initialize()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    30
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    31
svn_config = svn.core.svn_config_get_config(None)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    32
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    33
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    34
def _create_auth_baton(pool):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    35
    """Create a Subversion authentication baton. """
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    36
    import svn.client
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    37
    # Give the client context baton a suite of authentication
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    38
    # providers.h
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    39
    providers = [
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    40
        svn.client.get_simple_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    41
        svn.client.get_username_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    42
        svn.client.get_ssl_client_cert_file_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    43
        svn.client.get_ssl_client_cert_pw_file_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    44
        svn.client.get_ssl_server_trust_file_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    45
        ]
17481
b555be7ca830 spelling: dependent
timeless@mozdev.org
parents: 15782
diff changeset
    46
    # Platform-dependent authentication methods
8120
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    47
    getprovider = getattr(svn.core, 'svn_auth_get_platform_specific_provider',
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    48
                          None)
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    49
    if getprovider:
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    50
        # Available in svn >= 1.6
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    51
        for name in ('gnome_keyring', 'keychain', 'kwallet', 'windows'):
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    52
            for type in ('simple', 'ssl_client_cert_pw', 'ssl_server_trust'):
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    53
                p = getprovider(name, type, pool)
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    54
                if p:
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    55
                    providers.append(p)
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    56
    else:
14945
11aad09a6370 hgext: replace uses of hasattr with util.safehasattr
Augie Fackler <durin42@gmail.com>
parents: 11498
diff changeset
    57
        if util.safehasattr(svn.client, 'get_windows_simple_provider'):
8120
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    58
            providers.append(svn.client.get_windows_simple_provider(pool))
5126
117dab48ca99 convert: support windows SVN simple auth provider
Patrick Mezard <pmezard@gmail.com>
parents: 4957
diff changeset
    59
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    60
    return svn.core.svn_auth_open(providers, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    61
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    62
class NotBranchError(SubversionException):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    63
    pass
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    64
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    65
class SvnRaTransport(object):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    66
    """
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    67
    Open an ra connection to a Subversion repository.
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    68
    """
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    69
    def __init__(self, url="", ra=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    70
        self.pool = Pool()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    71
        self.svn_url = url
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    72
        self.username = ''
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    73
        self.password = ''
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    74
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    75
        # Only Subversion 1.4 has reparent()
14945
11aad09a6370 hgext: replace uses of hasattr with util.safehasattr
Augie Fackler <durin42@gmail.com>
parents: 11498
diff changeset
    76
        if ra is None or not util.safehasattr(svn.ra, 'reparent'):
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    77
            self.client = svn.client.create_context(self.pool)
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    78
            ab = _create_auth_baton(self.pool)
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    79
            if False:
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    80
                svn.core.svn_auth_set_parameter(
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    81
                    ab, svn.core.SVN_AUTH_PARAM_DEFAULT_USERNAME, self.username)
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    82
                svn.core.svn_auth_set_parameter(
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    83
                    ab, svn.core.SVN_AUTH_PARAM_DEFAULT_PASSWORD, self.password)
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    84
            self.client.auth_baton = ab
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    85
            self.client.config = svn_config
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    86
            try:
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    87
                self.ra = svn.client.open_ra_session(
15599
c6be93a4c378 convert/svn: fix URL quoting issue with svn 1.7
Patrick Mezard <pmezard@gmail.com>
parents: 15345
diff changeset
    88
                    self.svn_url,
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    89
                    self.client, self.pool)
5140
792c1d979097 Replace _ with inst for catching exceptions to not shadow gettext.
Thomas Arendsen Hein <thomas@intevation.de>
parents: 5126
diff changeset
    90
            except SubversionException, (inst, num):
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    91
                if num in (svn.core.SVN_ERR_RA_ILLEGAL_URL,
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    92
                           svn.core.SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED,
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    93
                           svn.core.SVN_ERR_BAD_URL):
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    94
                    raise NotBranchError(url)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    95
                raise
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    96
        else:
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    97
            self.ra = ra
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    98
            svn.ra.reparent(self.ra, self.svn_url.encode('utf8'))
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    99
8778
c5f36402daad use new style classes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 8120
diff changeset
   100
    class Reporter(object):
11498
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   101
        def __init__(self, reporter_data):
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   102
            self._reporter, self._baton = reporter_data
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   103
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   104
        def set_path(self, path, revnum, start_empty, lock_token, pool=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   105
            svn.ra.reporter2_invoke_set_path(self._reporter, self._baton,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   106
                        path, revnum, start_empty, lock_token, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   107
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   108
        def delete_path(self, path, pool=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   109
            svn.ra.reporter2_invoke_delete_path(self._reporter, self._baton,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   110
                    path, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   111
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   112
        def link_path(self, path, url, revision, start_empty, lock_token,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   113
                      pool=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   114
            svn.ra.reporter2_invoke_link_path(self._reporter, self._baton,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   115
                    path, url, revision, start_empty, lock_token,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   116
                    pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   117
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   118
        def finish_report(self, pool=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   119
            svn.ra.reporter2_invoke_finish_report(self._reporter,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   120
                    self._baton, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   121
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   122
        def abort_report(self, pool=None):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   123
            svn.ra.reporter2_invoke_abort_report(self._reporter,
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   124
                    self._baton, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   125
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   126
    def do_update(self, revnum, path, *args, **kwargs):
10282
08a0f04b56bd many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents: 8778
diff changeset
   127
        return self.Reporter(svn.ra.do_update(self.ra, revnum, path,
08a0f04b56bd many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents: 8778
diff changeset
   128
                                              *args, **kwargs))