latest test script === modified file 'bzrlib/tests/blackbox/test_commit.py' --- bzrlib/tests/blackbox/test_commit.py 2007-12-10 16:39:00 +0000 +++ bzrlib/tests/blackbox/test_commit.py 2008-08-12 08:37:32 +0000 @@ -567,3 +567,129 @@ retcode=3) self.assertContainsRe(err, r'^bzr: ERROR: Cannot lock.*readonly transport') + + def test_add_directory_and_rename_into_bug_256409_2(self): + # https://bugs.launchpad.net/bzr/+bug/256409 + # corrupt deltas generated at commit... + tree = self.make_branch_and_tree('.') + rev1 = "rev1" + rev2 = "rev2" + basis_string = ('\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n' + '\n') + basis_inv = tree.branch.repository._serializer.read_inventory_from_string(basis_string) + # create a basis tree + self.build_tree([ + 'AUTHORS', + 'COPYING', + 'ChangeLog', + 'INSTALL', + 'NEWS', + 'README', + 'Makefile.am', + 'autogen.sh', + 'configure.in', + 'src/', + 'src/Makefile.am', + 'src/css-border.c', + 'src/css-border.h', + 'src/css-color.h', + 'src/css-gtk.c', + 'src/css-gtk.h', + 'src/css-rc-style.c', + 'src/css-rc-style.h', + 'src/css-style.c', + 'src/css-style.h', + 'src/css-theme.c', + 'src/css.h', + 'tests/', + 'tests/drawing.c', + 'theme/', + 'theme/Makefile.am', + 'theme/null/', + 'theme/null/Makefile.am', + 'theme/null/gtk-2.0/', + 'theme/null/gtk-2.0/Makefile.am', + 'theme/null/gtk-2.0/gtkrc', + ]) + # set the inventory we want to commit + tree._write_inventory(basis_inv) + tree.commit('first post', rev_id=rev1) + self.run_bzr('mkdir cbd') + self.run_bzr('mv ../src/css-border.c ../src/css-border.h .', working_dir='cbd') + self.run_bzr('mv ../src/css-color.h .', working_dir='cbd') + self.run_bzr('mv ../src/css-gtk.c ../src/css-gtk.h .', working_dir='cbd') + self.run_bzr('mv ../src/css.h .', working_dir='cbd') + """ +[19361] 2008-07-04 13:28:53.817 INFO: modified Makefile.am +[19361] 2008-07-04 13:28:53.818 INFO: added cbd +[19361] 2008-07-04 13:28:53.820 INFO: modified configure.in +[19361] 2008-07-04 13:28:53.824 INFO: modified and renamed src/css-border.c => cbd/css-border.c +[19361] 2008-07-04 13:28:53.826 INFO: modified and renamed src/css-border.h => cbd/css-border.h +[19361] 2008-07-04 13:28:53.828 INFO: renamed src/css-color.h => cbd/css-color.h +[19361] 2008-07-04 13:28:53.831 INFO: renamed src/css-gtk.c => cbd/css-gtk.c +[19361] 2008-07-04 13:28:53.833 INFO: modified and renamed src/css-gtk.h => cbd/css-gtk.h +[19361] 2008-07-04 13:28:53.834 INFO: renamed src/css.h => cbd/css.h +[19361] 2008-07-04 13:28:53.835 INFO: modified src/Makefile.am +[19361] 2008-07-04 13:28:53.838 INFO: modified tests/drawing.c +[19361] 2008-07-04 13:28:53.839 INFO: modified theme/Makefile.am +[19361] 2008-07-04 13:28:53.841 INFO: modified theme/null/Makefile.am +[19361] 2008-07-04 13:28:53.842 INFO: modified theme/null/gtk-2.0/Makefile.am +0.334 added revision_id {rstaudinger@meqbuq-20080704112853-mzq042mhe9mtnjma} +[19361] 2008-07-04 13:28:53.886 INFO: Committed revision 11. +0.341 return code 0 +""" + # new content changed + self.build_tree_contents([ + ('configure.in', 'new'), + ('cbd/css-border.c', 'new'), + ('cbd/css-border.h', 'new'), + ('cbd/css-gtk.h', 'new'), + ('Makefile.am', 'new'), + ('src/Makefile.am', 'new'), + ('theme/Makefile.am', 'new'), + ('theme/null/Makefile.am', 'new'), + ('theme/null/gtk-2.0/Makefile.am', 'new'), + ('tests/drawing.c', 'new')]) + self.run_bzr('commit -m message') + tree = tree.bzrdir.open_workingtree() + rev2 = tree.branch.last_revision() + self.run_bzr('check') + tree.lock_read() + t = tree.branch.repository.get_transaction() + r = tree.branch.repository + knit = r.weave_store.get_weave(tree.path2id('cbd'), t) + self.assertEqual(set([rev2]), set(knit.versions())) + # final smoking gun test + self.run_bzr('branch . foo') +