hgext/convert/transport.py
author Raphaël Gomès <rgomes@octobus.net>
Thu, 06 Feb 2020 14:32:16 +0100
changeset 44527 1debb5894b39
parent 43089 c59eb1560c44
child 47062 f38bf44e077f
permissions -rw-r--r--
rust-status: add function for sequential traversal of the working directory This change also introduces helper structs to make things clearer. Differential Revision: https://phab.mercurial-scm.org/D7928
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/>.
28412
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    19
from __future__ import absolute_import
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    20
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    21
import svn.client
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    22
import svn.core
28412
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    23
import svn.ra
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    24
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    25
Pool = svn.core.Pool
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    26
SubversionException = svn.core.SubversionException
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    27
43089
c59eb1560c44 py3: manually import getattr where it is needed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43077
diff changeset
    28
from mercurial.pycompat import getattr
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    29
from mercurial import util
28461
b433233e25d9 convert: fix "stdlib import follows local import" problem in transport
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents: 28412
diff changeset
    30
4957
cdd33a048289 removed trailing whitespace
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4938
diff changeset
    31
# 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
    32
# 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
    33
# 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
    34
svn.ra.initialize()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    35
29668
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    36
svn_config = None
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    37
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    38
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    39
def _create_auth_baton(pool):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    40
    """Create a Subversion authentication baton. """
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    41
    import svn.client
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    42
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    43
    # 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
    44
    # providers.h
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    45
    providers = [
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    46
        svn.client.get_simple_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    47
        svn.client.get_username_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    48
        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
    49
        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
    50
        svn.client.get_ssl_server_trust_file_provider(pool),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    51
    ]
17481
b555be7ca830 spelling: dependent
timeless@mozdev.org
parents: 15782
diff changeset
    52
    # Platform-dependent authentication methods
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    53
    getprovider = getattr(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    54
        svn.core, 'svn_auth_get_platform_specific_provider', None
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    55
    )
8120
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    56
    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
    57
        # Available in svn >= 1.6
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    58
        for name in (b'gnome_keyring', b'keychain', b'kwallet', b'windows'):
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    59
            for type in (b'simple', b'ssl_client_cert_pw', b'ssl_server_trust'):
8120
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    60
                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
    61
                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
    62
                    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
    63
    else:
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    64
        if util.safehasattr(svn.client, b'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
    65
            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
    66
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    67
    return svn.core.svn_auth_open(providers, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    68
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    69
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    70
class NotBranchError(SubversionException):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    71
    pass
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    72
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    73
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    74
class SvnRaTransport(object):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    75
    """
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    76
    Open an ra connection to a Subversion repository.
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    77
    """
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    78
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    79
    def __init__(self, url=b"", ra=None):
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    80
        self.pool = Pool()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    81
        self.svn_url = url
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    82
        self.username = b''
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    83
        self.password = b''
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    84
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    85
        # Only Subversion 1.4 has reparent()
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    86
        if ra is None or not util.safehasattr(svn.ra, b'reparent'):
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    87
            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
    88
            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
    89
            self.client.auth_baton = ab
29668
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    90
            global svn_config
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    91
            if svn_config is None:
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    92
                svn_config = svn.core.svn_config_get_config(None)
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    93
            self.client.config = svn_config
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    94
            try:
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    95
                self.ra = svn.client.open_ra_session(
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    96
                    self.svn_url, self.client, self.pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    97
                )
25660
328739ea70c3 global: mass rewrite to use modern exception syntax
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17481
diff changeset
    98
            except SubversionException as xxx_todo_changeme:
328739ea70c3 global: mass rewrite to use modern exception syntax
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17481
diff changeset
    99
                (inst, num) = xxx_todo_changeme.args
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   100
                if num in (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   101
                    svn.core.SVN_ERR_RA_ILLEGAL_URL,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   102
                    svn.core.SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   103
                    svn.core.SVN_ERR_BAD_URL,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   104
                ):
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   105
                    raise NotBranchError(url)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   106
                raise
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   107
        else:
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   108
            self.ra = ra
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   109
            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
   110
8778
c5f36402daad use new style classes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents: 8120
diff changeset
   111
    class Reporter(object):
11498
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   112
        def __init__(self, reporter_data):
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   113
            self._reporter, self._baton = reporter_data
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   114
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   115
        def set_path(self, path, revnum, start_empty, lock_token, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   116
            svn.ra.reporter2_invoke_set_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   117
                self._reporter,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   118
                self._baton,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   119
                path,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   120
                revnum,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   121
                start_empty,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   122
                lock_token,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   123
                pool,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   124
            )
4764
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 delete_path(self, path, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   127
            svn.ra.reporter2_invoke_delete_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   128
                self._reporter, self._baton, path, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   129
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   130
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   131
        def link_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   132
            self, path, url, revision, start_empty, lock_token, pool=None
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   133
        ):
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   134
            svn.ra.reporter2_invoke_link_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   135
                self._reporter,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   136
                self._baton,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   137
                path,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   138
                url,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   139
                revision,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   140
                start_empty,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   141
                lock_token,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   142
                pool,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   143
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   144
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   145
        def finish_report(self, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   146
            svn.ra.reporter2_invoke_finish_report(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   147
                self._reporter, self._baton, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   148
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   149
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   150
        def abort_report(self, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   151
            svn.ra.reporter2_invoke_abort_report(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   152
                self._reporter, self._baton, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   153
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   154
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   155
    def do_update(self, revnum, path, *args, **kwargs):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   156
        return self.Reporter(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   157
            svn.ra.do_update(self.ra, revnum, path, *args, **kwargs)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   158
        )