Mercurial > hg > mercurial-crew-with-dirclash
annotate hgext/convert/transport.py @ 5483:0c43f87baba3 default tip
Fix file-changed-to-dir and dir-to-file commits (issue660).
Allow adding to dirstate files that clash with previously existing
but marked for removal. Protect from reintroducing clashes by revert.
This change doesn't address related issues with update. Current
workaround is to do "clean" update by manually removing conflicting
files/dirs from working directory.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 27 Oct 2007 16:27:55 +0400 |
parents | 792c1d979097 |
children |
rev | line source |
---|---|
4757
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 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
18 # along with this program; if not, write to the Free Software |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
20 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
21 from cStringIO import StringIO |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
22 import os |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
23 from tempfile import mktemp |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
24 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
25 from svn.core import SubversionException, Pool |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
26 import svn.ra |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
27 import svn.client |
4757
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
28 import svn.core |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
29 |
4939
cdd33a048289
removed trailing whitespace
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4920
diff
changeset
|
30 # Some older versions of the Python bindings need to be |
4757
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 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
35 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
|
36 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
37 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
38 def _create_auth_baton(pool): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
39 """Create a Subversion authentication baton. """ |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
40 import svn.client |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
41 # 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
|
42 # providers.h |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
43 providers = [ |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
44 svn.client.get_simple_provider(pool), |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
45 svn.client.get_username_provider(pool), |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
46 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
|
47 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
|
48 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
|
49 ] |
5099
117dab48ca99
convert: support windows SVN simple auth provider
Patrick Mezard <pmezard@gmail.com>
parents:
4939
diff
changeset
|
50 # Platform-dependant authentication methods |
117dab48ca99
convert: support windows SVN simple auth provider
Patrick Mezard <pmezard@gmail.com>
parents:
4939
diff
changeset
|
51 if hasattr(svn.client, 'get_windows_simple_provider'): |
117dab48ca99
convert: support windows SVN simple auth provider
Patrick Mezard <pmezard@gmail.com>
parents:
4939
diff
changeset
|
52 providers.append(svn.client.get_windows_simple_provider(pool)) |
117dab48ca99
convert: support windows SVN simple auth provider
Patrick Mezard <pmezard@gmail.com>
parents:
4939
diff
changeset
|
53 |
4757
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
54 return svn.core.svn_auth_open(providers, pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
55 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
56 class NotBranchError(SubversionException): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
57 pass |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
58 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
59 class SvnRaTransport(object): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
60 """ |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
61 Open an ra connection to a Subversion repository. |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
62 """ |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
63 def __init__(self, url="", ra=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
64 self.pool = Pool() |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
65 self.svn_url = url |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
66 self.username = '' |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
67 self.password = '' |
4757
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 # Only Subversion 1.4 has reparent() |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
70 if ra is None or not hasattr(svn.ra, 'reparent'): |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
71 self.client = svn.client.create_context(self.pool) |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
72 ab = _create_auth_baton(self.pool) |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
73 if False: |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
74 svn.core.svn_auth_set_parameter( |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
75 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:
4757
diff
changeset
|
76 svn.core.svn_auth_set_parameter( |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
77 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:
4757
diff
changeset
|
78 self.client.auth_baton = ab |
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
79 self.client.config = svn_config |
4757
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
80 try: |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
81 self.ra = svn.client.open_ra_session( |
4939
cdd33a048289
removed trailing whitespace
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4920
diff
changeset
|
82 self.svn_url.encode('utf8'), |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
83 self.client, self.pool) |
5113
792c1d979097
Replace _ with inst for catching exceptions to not shadow gettext.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5099
diff
changeset
|
84 except SubversionException, (inst, num): |
4920
4db03fa58bd5
convert/subversion: get converter working against plain HTTP.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4757
diff
changeset
|
85 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:
4757
diff
changeset
|
86 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:
4757
diff
changeset
|
87 svn.core.SVN_ERR_BAD_URL): |
4757
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
88 raise NotBranchError(url) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
89 raise |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
90 else: |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
91 self.ra = ra |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
92 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
|
93 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
94 class Reporter: |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
95 def __init__(self, (reporter, report_baton)): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
96 self._reporter = reporter |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
97 self._baton = report_baton |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
98 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
99 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
|
100 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
|
101 path, revnum, start_empty, lock_token, pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
102 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
103 def delete_path(self, path, pool=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
104 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
|
105 path, pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
106 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
107 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
|
108 pool=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
109 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
|
110 path, url, revision, start_empty, lock_token, |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
111 pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
112 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
113 def finish_report(self, pool=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
114 svn.ra.reporter2_invoke_finish_report(self._reporter, |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
115 self._baton, pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
116 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
117 def abort_report(self, pool=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
118 svn.ra.reporter2_invoke_abort_report(self._reporter, |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
119 self._baton, pool) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
120 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
121 def do_update(self, revnum, path, *args, **kwargs): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
122 return self.Reporter(svn.ra.do_update(self.ra, revnum, path, *args, **kwargs)) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
123 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
124 def clone(self, offset=None): |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
125 """See Transport.clone().""" |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
126 if offset is None: |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
127 return self.__class__(self.base) |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
128 |
6a16ef0d1c7c
convert extension: stripped-down svn transport module
Daniel Holth <dholth@fastmail.fm>
parents:
diff
changeset
|
129 return SvnRaTransport(urlutils.join(self.base, offset), ra=self.ra) |