1064
1064
bundle = self.get_valid_bundle('null:', 'rev/id')
1066
def test_skip_file(self):
1067
"""Make sure we don't accidentally write to the wrong versionedfile"""
1068
self.tree1 = self.make_branch_and_tree('tree')
1069
self.b1 = self.tree1.branch
1070
# rev1 is not present in bundle, done by fetch
1071
self.build_tree_contents([('tree/file2', 'contents1')])
1072
self.tree1.add('file2', 'file2-id')
1073
self.tree1.commit('rev1', rev_id='reva')
1074
self.build_tree_contents([('tree/file3', 'contents2')])
1075
# rev2 is present in bundle, and done by fetch
1076
# having file1 in the bunle causes file1's versionedfile to be opened.
1077
self.tree1.add('file3', 'file3-id')
1078
self.tree1.commit('rev2')
1079
# Updating file2 should not cause an attempt to add to file1's vf
1080
target = self.tree1.bzrdir.sprout('target').open_workingtree()
1081
self.build_tree_contents([('tree/file2', 'contents3')])
1082
self.tree1.commit('rev3', rev_id='rev3')
1083
bundle = self.get_valid_bundle('reva', 'rev3')
1084
if getattr(bundle, 'get_bundle_reader', None) is None:
1085
raise TestSkipped('Bundle format cannot provide reader')
1086
# be sure that file1 comes before file2
1087
for b, m, k, r, f in bundle.get_bundle_reader().iter_records():
1090
self.assertNotEqual(f, 'file2-id')
1091
bundle.install_revisions(target.branch.repository)
1067
1094
class V08BundleTester(BundleTester, TestCaseWithTransport):