Rev 41: Really fix the converter logic. in http://people.ubuntu.com/~robertc/baz2.0/plugins/index2/trunk
Robert Collins
robertc at robertcollins.net
Tue Jul 15 10:33:38 BST 2008
At http://people.ubuntu.com/~robertc/baz2.0/plugins/index2/trunk
------------------------------------------------------------
revno: 41
revision-id: robertc at robertcollins.net-20080715093337-nfd1j17amjut3bfv
parent: robertc at robertcollins.net-20080715085345-9xos2vqqpfkmcb4p
committer: Robert Collins <robertc at robertcollins.net>
branch nick: trunk
timestamp: Tue 2008-07-15 19:33:37 +1000
message:
Really fix the converter logic.
modified:
repofmt.py repofmt.py-20080701113732-m1iu3n94ikbxdelb-1
tests/test_repofmt.py test_repofmt.py-20080704030345-bza6rrd6nf4sdmyy-1
=== modified file 'repofmt.py'
--- a/repofmt.py 2008-07-14 13:10:17 +0000
+++ b/repofmt.py 2008-07-15 09:33:37 +0000
@@ -358,11 +358,17 @@
def _cancel_conversion(self):
"""Cancel a conversion that has not been completed."""
- for name_to, name_from in reversed(self.pivot_renames):
- try:
- self.source._transport.rename(name_from, name_to)
- except errors.NoSuchFile:
- pass
+ transport = self.source._transport
+ if transport.has('old-pack-names'):
+ # pivot has moved old out of the way
+ for name_to, name_from in reversed(self.pivot_renames):
+ try:
+ self.source._transport.rename(name_from, name_to)
+ except errors.NoSuchFile:
+ pass
+ elif transport.has('oldindices'):
+ # back out a partial pivot
+ transport.rename('oldindices', 'indices')
self._remove_tmp_index_dir()
try:
self.source._transport.delete('new-pack-names')
=== modified file 'tests/test_repofmt.py'
--- a/tests/test_repofmt.py 2008-07-14 13:10:17 +0000
+++ b/tests/test_repofmt.py 2008-07-15 09:33:37 +0000
@@ -44,6 +44,11 @@
def setUp(self):
TestCaseWithTransport.setUp(self)
repo = self.make_repository('.', format='pack-0.92')
+ repo.bzrdir.create_branch()
+ tree = repo.bzrdir.create_workingtree()
+ # create two packs
+ tree.commit('post 1')
+ tree.commit('post 2')
target = repofmt.RepositoryFormatPackBTreePlain()
self.inter = repofmt.InterKnitPackBTreeFormat(repo, target)
@@ -228,11 +233,6 @@
self.inter.unlock()
def test__convert(self):
- self.inter.source.bzrdir.create_branch()
- tree = self.inter.source.bzrdir.create_workingtree()
- # create two packs
- tree.commit('post 1')
- tree.commit('post 2')
self.inter._prep_conversion()
self.inter._convert(None)
self.assertIndicesConverted()
More information about the bazaar-commits
mailing list