hgext/convert/transport.py
author Manuel Jacob <me@manueljacob.de>
Mon, 11 Jul 2022 01:51:20 +0200
branchstable
changeset 49378 094a5fa3cf52
parent 48946 642e31cb55f0
child 49849 de9ffb82ef4d
permissions -rw-r--r--
procutil: make stream detection in make_line_buffered more correct and strict In make_line_buffered(), we don’t want to wrap the stream if we know that lines get flushed to the underlying raw stream already. Previously, the heuristic was too optimistic. It assumed that any stream which is not an instance of io.BufferedIOBase doesn’t need wrapping. However, there are buffered streams that aren’t instances of io.BufferedIOBase, like Mercurial’s own winstdout. The new logic is different in two ways: First, only for the check, if unwraps any combination of WriteAllWrapper and winstdout. Second, it skips wrapping the stream only if it is an instance of io.RawIOBase (or already wrapped). If it is an instance of io.BufferedIOBase, it gets wrapped. In any other case, the function raises an exception. This ensures that, if an unknown stream is passed or we add another wrapper in the future, we don’t wrap the stream if it’s already line buffered or not wrap the stream if it’s not line buffered. In fact, this was already helpful during development of this change. Without it, I possibly would have forgot that WriteAllWrapper needs to be ignored for the check, leading to unnecessary wrapping if stdout is unbuffered. The alternative would have been to always wrap unknown streams. However, I don’t think that anyone would benefit from being less strict. We can expect streams from the standard library to be subclassing either io.RawIOBase or io.BufferedIOBase, so running Mercurial in the standard way should not regress by this change. Py2exe might replace sys.stdout and sys.stderr, but that currently breaks Mercurial anyway and also these streams don’t claim to be interactive, so this function is not called for them.
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
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    20
import svn.client
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    21
import svn.core
28412
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    22
import svn.ra
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    23
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    24
Pool = svn.core.Pool
1e03b74195d4 convert: transport use absolute_import
timeless <timeless@mozdev.org>
parents: 25660
diff changeset
    25
SubversionException = svn.core.SubversionException
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    26
43089
c59eb1560c44 py3: manually import getattr where it is needed
Gregory Szorc <gregory.szorc@gmail.com>
parents: 43077
diff changeset
    27
from mercurial.pycompat import getattr
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    28
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
    29
4957
cdd33a048289 removed trailing whitespace
Thomas Arendsen Hein <thomas@intevation.de>
parents: 4938
diff changeset
    30
# 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
    31
# 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
    32
# 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
    33
svn.ra.initialize()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    34
29668
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    35
svn_config = None
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    36
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    37
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    38
def _create_auth_baton(pool):
47062
f38bf44e077f black: make codebase compatible with black v21.4b2 and v20.8b1
Kyle Lippincott <spectral@google.com>
parents: 43089
diff changeset
    39
    """Create a Subversion authentication baton."""
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    40
    import svn.client
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    41
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    42
    # 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
    43
    # providers.h
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    44
    providers = [
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    45
        svn.client.get_simple_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    46
        svn.client.get_username_provider(pool),
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    47
        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
    48
        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
    49
        svn.client.get_ssl_server_trust_file_provider(pool),
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    50
    ]
17481
b555be7ca830 spelling: dependent
timeless@mozdev.org
parents: 15782
diff changeset
    51
    # Platform-dependent authentication methods
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    52
    getprovider = getattr(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    53
        svn.core, 'svn_auth_get_platform_specific_provider', None
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    54
    )
8120
2b36ed5c1911 convert/svn: support more OS specific auth providers via svn 1.6 API
Patrick Mezard <pmezard@gmail.com>
parents: 6215
diff changeset
    55
    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
    56
        # Available in svn >= 1.6
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    57
        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
    58
            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
    59
                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
    60
                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
    61
                    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
    62
    else:
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    63
        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
    64
            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
    65
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    66
    return svn.core.svn_auth_open(providers, pool)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    67
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    68
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    69
class NotBranchError(SubversionException):
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    70
    pass
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    71
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    72
48946
642e31cb55f0 py3: use class X: instead of class X(object):
Gregory Szorc <gregory.szorc@gmail.com>
parents: 48875
diff changeset
    73
class SvnRaTransport:
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
    Open an ra connection to a Subversion repository.
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    76
    """
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    77
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    78
    def __init__(self, url=b"", ra=None):
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    79
        self.pool = Pool()
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    80
        self.svn_url = url
43077
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    81
        self.username = b''
687b865b95ad formatting: byteify all mercurial/ and hgext/ string literals
Augie Fackler <augie@google.com>
parents: 43076
diff changeset
    82
        self.password = b''
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    83
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    84
        # 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
    85
        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
    86
            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
    87
            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
    88
            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
    89
            global svn_config
09a5699cc3cb convert: move svn config initializer out of the module level
Durham Goode <durham@fb.com>
parents: 28461
diff changeset
    90
            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
    91
                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
    92
            self.client.config = svn_config
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
    93
            try:
4938
4db03fa58bd5 convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents: 4764
diff changeset
    94
                self.ra = svn.client.open_ra_session(
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    95
                    self.svn_url, self.client, self.pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    96
                )
25660
328739ea70c3 global: mass rewrite to use modern exception syntax
Gregory Szorc <gregory.szorc@gmail.com>
parents: 17481
diff changeset
    97
            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
    98
                (inst, num) = xxx_todo_changeme.args
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
    99
                if num in (
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   100
                    svn.core.SVN_ERR_RA_ILLEGAL_URL,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   101
                    svn.core.SVN_ERR_RA_LOCAL_REPOS_OPEN_FAILED,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   102
                    svn.core.SVN_ERR_BAD_URL,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   103
                ):
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   104
                    raise NotBranchError(url)
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   105
                raise
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   106
        else:
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   107
            self.ra = ra
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   108
            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
   109
48946
642e31cb55f0 py3: use class X: instead of class X(object):
Gregory Szorc <gregory.szorc@gmail.com>
parents: 48875
diff changeset
   110
    class Reporter:
11498
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   111
        def __init__(self, reporter_data):
8fa85378c527 convert: tuple parameter unpacking is deprecated in py3k
Renato Cunha <renatoc@gmail.com>
parents: 10282
diff changeset
   112
            self._reporter, self._baton = reporter_data
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   113
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   114
        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
   115
            svn.ra.reporter2_invoke_set_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   116
                self._reporter,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   117
                self._baton,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   118
                path,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   119
                revnum,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   120
                start_empty,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   121
                lock_token,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   122
                pool,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   123
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   124
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   125
        def delete_path(self, path, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   126
            svn.ra.reporter2_invoke_delete_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   127
                self._reporter, self._baton, path, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   128
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   129
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   130
        def link_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   131
            self, path, url, revision, start_empty, lock_token, pool=None
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   132
        ):
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   133
            svn.ra.reporter2_invoke_link_path(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   134
                self._reporter,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   135
                self._baton,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   136
                path,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   137
                url,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   138
                revision,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   139
                start_empty,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   140
                lock_token,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   141
                pool,
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   142
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   143
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   144
        def finish_report(self, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   145
            svn.ra.reporter2_invoke_finish_report(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   146
                self._reporter, self._baton, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   147
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   148
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   149
        def abort_report(self, pool=None):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   150
            svn.ra.reporter2_invoke_abort_report(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   151
                self._reporter, self._baton, pool
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   152
            )
4764
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   153
6a16ef0d1c7c convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff changeset
   154
    def do_update(self, revnum, path, *args, **kwargs):
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   155
        return self.Reporter(
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   156
            svn.ra.do_update(self.ra, revnum, path, *args, **kwargs)
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 33368
diff changeset
   157
        )