Rev 723: Support svn+ hack when committing in bound branches. (#150699) in file:///data/jelmer/bzr-svn/0.4/
Jelmer Vernooij
jelmer at samba.org
Wed Oct 17 01:14:31 BST 2007
At file:///data/jelmer/bzr-svn/0.4/
------------------------------------------------------------
revno: 723
revision-id: jelmer at samba.org-20071009122742-6225g53fkeloojea
parent: jelmer at samba.org-20071005131929-gr11wakccqjyqcd1
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Tue 2007-10-09 14:27:42 +0200
message:
Support svn+ hack when committing in bound branches. (#150699)
modified:
NEWS news-20061231030336-h9fhq245ie0de8bs-1
fetch.py fetch.py-20060625004942-x2lfaib8ra707a8p-1
logwalker.py logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
remote.py format.py-20060406233823-b6fa009fe35dfde7
tests/test_transport.py test_transport.py-20060621232111-xh7xvoblzsrgj79t-1
transport.py transport.py-20060406231150-b3472d06b3a0818d
tree.py tree.py-20060624222557-dudlwqcmkf22lt2s-1
=== modified file 'NEWS'
--- a/NEWS 2007-10-02 01:05:30 +0000
+++ b/NEWS 2007-10-09 12:27:42 +0000
@@ -28,6 +28,8 @@
* Give proper warning message when running 'bzr svn-import' on
something that is not a Subversion repository.
+ * Support svn+ hack when committing in bound branches. (#150699)
+
DOCUMENTATION
* Add simple FAQ file. (#144388)
=== modified file 'fetch.py'
--- a/fetch.py 2007-09-23 23:27:45 +0000
+++ b/fetch.py 2007-10-09 12:27:42 +0000
@@ -428,7 +428,7 @@
# Nothing to fetch
return
- repos_root = self.source.transport.get_repos_root()
+ repos_root = self.source.transport.get_svn_repos_root()
prev_revid = None
transport = self.source.transport
=== modified file 'logwalker.py'
--- a/logwalker.py 2007-09-20 19:28:59 +0000
+++ b/logwalker.py 2007-10-09 12:27:42 +0000
@@ -335,7 +335,7 @@
edit, baton = svn.delta.make_editor(editor, pool)
old_base = transport.base
try:
- root_repos = transport.get_repos_root()
+ root_repos = transport.get_svn_repos_root()
transport.reparent(urlutils.join(root_repos, path))
reporter = transport.do_update(revnum, True, edit, baton, pool)
reporter.set_path("", revnum, True, None, pool)
=== modified file 'remote.py'
--- a/remote.py 2007-09-17 13:18:46 +0000
+++ b/remote.py 2007-10-09 12:27:42 +0000
@@ -46,7 +46,8 @@
self.root_transport = _transport
svn_url = bzr_to_svn_url(self.root_transport.base)
- self.svn_root_url = _transport.get_repos_root()
+ self.svn_root_url = _transport.get_svn_repos_root()
+ self.root_url = _transport.get_repos_root()
assert svn_url.startswith(self.svn_root_url)
self.branch_path = svn_url[len(self.svn_root_url):]
@@ -95,7 +96,7 @@
:return: instance of SvnRepository.
"""
transport = self.root_transport
- if self.svn_root_url != transport.base:
+ if self.root_url != transport.base:
transport = transport.clone_root()
return SvnRepository(self, transport, self.branch_path)
=== modified file 'tests/test_transport.py'
--- a/tests/test_transport.py 2007-08-28 01:54:14 +0000
+++ b/tests/test_transport.py 2007-10-09 12:27:42 +0000
@@ -167,7 +167,7 @@
self.client_commit("dc", "Bla")
t = SvnRaTransport("%s/dir" % repos_url)
- root = t.get_repos_root()
+ root = t.get_svn_repos_root()
self.assertEqual(repos_url, root)
def test_local_abspath(self):
=== modified file 'transport.py'
--- a/transport.py 2007-10-02 01:05:30 +0000
+++ b/transport.py 2007-10-09 12:27:42 +0000
@@ -282,9 +282,16 @@
self.mutter('svn get-uuid')
return svn.ra.get_uuid(self._ra)
- @convert_svn_error
- @needs_busy
def get_repos_root(self):
+ root = self.get_svn_repos_root()
+ if (self.base.startswith("svn+http:") or
+ self.base.startswith("svn+https:")):
+ return "svn+%s" % root
+ return root
+
+ @convert_svn_error
+ @needs_busy
+ def get_svn_repos_root(self):
if self._root is None:
self.mutter("svn get-repos-root")
self._root = svn.ra.get_repos_root(self._ra)
@@ -313,12 +320,13 @@
def _open_real_transport(self):
if self._backing_url != self.svn_url:
- self.reparent(self.svn_url)
+ self.reparent(self.base)
assert self._backing_url == self.svn_url
def reparent_root(self):
if self._is_http_transport():
- self.svn_url = self.base = self.get_repos_root()
+ self.svn_url = self.get_svn_repos_root()
+ self.base = self.get_repos_root()
else:
self.reparent(self.get_repos_root())
@@ -327,17 +335,17 @@
def reparent(self, url):
url = url.rstrip("/")
self.base = url
- self.svn_url = url
- if url == self._backing_url:
+ self.svn_url = bzr_to_svn_url(url)
+ if self.svn_url == self._backing_url:
return
if hasattr(svn.ra, 'reparent'):
self.mutter('svn reparent %r' % url)
- svn.ra.reparent(self._ra, url, self.pool)
+ svn.ra.reparent(self._ra, self.svn_url, self.pool)
else:
self.mutter('svn reparent (reconnect) %r' % url)
self._ra = svn.client.open_ra_session(self.svn_url.encode('utf8'),
self._client, self.pool)
- self._backing_url = url
+ self._backing_url = self.svn_url
@convert_svn_error
@needs_busy
=== modified file 'tree.py'
--- a/tree.py 2007-08-09 14:54:13 +0000
+++ b/tree.py 2007-10-09 12:27:42 +0000
@@ -68,7 +68,7 @@
self.editor = TreeBuildEditor(self, pool)
self.file_data = {}
editor, baton = svn.delta.make_editor(self.editor, pool)
- root_repos = repository.transport.get_repos_root()
+ root_repos = repository.transport.get_svn_repos_root()
reporter = repository.transport.do_switch(
self.revnum, True,
urlutils.join(root_repos, self.branch_path), editor, baton, pool)
More information about the bazaar-commits
mailing list