Rev 294: Support conversions with branching schemes other than trunk-0 in http://people.samba.org/bzr/jelmer/bzr-svn/bzr.dev
Jelmer Vernooij
jelmer at samba.org
Mon Dec 25 23:10:14 GMT 2006
------------------------------------------------------------
revno: 294
revision-id: jelmer at samba.org-20061225230933-0so0ha9amws46pc4
parent: jelmer at samba.org-20061225230518-a66fwk0gvjolqhfu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: main
timestamp: Tue 2006-12-26 00:09:33 +0100
message:
Support conversions with branching schemes other than trunk-0
modified:
convert.py svn2bzr.py-20051018015439-cb4563bff29e632d
repository.py repository.py-20060306123302-1f8c5069b3fe0265
tests/test_convert.py test_convert.py-20060705203611-b1l0bapeku6foco0-1
tests/test_repos.py test_repos.py-20060508151940-ddc49a59257ca712
=== modified file 'convert.py'
--- a/convert.py 2006-12-19 21:45:25 +0000
+++ b/convert.py 2006-12-25 23:09:33 +0000
@@ -67,11 +67,17 @@
target_repos = Repository.open(output_dir)
assert target_repos.is_shared()
except NotBranchError:
- target_repos = BzrDir.create_repository(output_dir, shared=True)
+ if scheme.is_branch(""):
+ BzrDir.create_branch_and_repo(output_dir)
+ else:
+ BzrDir.create_repository(output_dir, shared=True)
+ target_repos = Repository.open(output_dir)
target_repos.set_make_working_trees(working_trees)
try:
- source_repos = SvnRepository.open(url+"/trunk")
+ source_repos = SvnRepository.open(url)
+
+ source_repos.set_branching_scheme(scheme)
branches = list(source_repos.find_branches())
=== modified file 'repository.py'
--- a/repository.py 2006-12-25 02:32:49 +0000
+++ b/repository.py 2006-12-25 23:09:33 +0000
@@ -229,6 +229,10 @@
self.branchprop_list = BranchPropertyList(self._log, self.cachedb)
self.fileid_map = SimpleFileIdMap(self._log, self.cachedb)
+ def set_branching_scheme(self, scheme):
+ self.scheme = scheme
+ self._log.scheme = scheme
+
def _warn_if_deprecated(self):
# This class isn't deprecated
pass
=== modified file 'tests/test_convert.py'
--- a/tests/test_convert.py 2006-12-19 23:50:15 +0000
+++ b/tests/test_convert.py 2006-12-25 23:09:33 +0000
@@ -120,6 +120,30 @@
convert_repository(dumpfile, branch_path, NoBranchingScheme())
branch = Repository.open(branch_path)
self.assertEqual([], branch.all_revision_ids())
+ Branch.open(branch_path)
+
+ def test_dumpfile_open_empty_trunk(self):
+ dumpfile = os.path.join(self.test_dir, "dumpfile")
+ open(dumpfile, 'w').write(
+"""SVN-fs-dump-format-version: 2
+
+UUID: 6987ef2d-cd6b-461f-9991-6f1abef3bd59
+
+Revision-number: 0
+Prop-content-length: 56
+Content-length: 56
+
+K 8
+svn:date
+V 27
+2006-07-02T13:14:51.972532Z
+PROPS-END
+""")
+ branch_path = os.path.join(self.test_dir, "f")
+ convert_repository(dumpfile, branch_path, TrunkBranchingScheme())
+ repository = Repository.open(branch_path)
+ self.assertEqual([], repository.all_revision_ids())
+ self.assertRaises(NotBranchError, Branch.open, branch_path)
def test_open_internal(self):
filename = os.path.join(self.test_dir, "dumpfile")
=== modified file 'tests/test_repos.py'
--- a/tests/test_repos.py 2006-12-25 04:43:45 +0000
+++ b/tests/test_repos.py 2006-12-25 23:09:33 +0000
@@ -29,7 +29,7 @@
from convert import load_dumpfile
import format
-from scheme import TrunkBranchingScheme
+from scheme import TrunkBranchingScheme, NoBranchingScheme
from transport import SvnRaTransport
from tests import TestCaseWithSubversionRepository
from repository import (parse_svn_revision_id, generate_svn_revision_id,
@@ -732,6 +732,11 @@
"svn-v%d:1@%s-" % (MAPPING_VERSION, oldrepos.uuid))
self.assertEqual([], rev.parent_ids)
+ def test_set_branching_scheme(self):
+ repos_url = self.make_client('d', 'dc')
+ repos = Repository.open(repos_url)
+ repos.set_branching_scheme(NoBranchingScheme())
+
def test_fetch_crosscopy(self):
repos_url = self.make_client('d', 'dc')
self.build_tree({'dc/trunk/adir/afile': "data",
More information about the bazaar-commits
mailing list