Rev 2927: Add a direct test for WT.unversion() in http://bzr.arbash-meinel.com/branches/bzr/0.92-dev/bogus_removal_114615

John Arbash Meinel john at arbash-meinel.com
Tue Oct 23 22:35:47 BST 2007


At http://bzr.arbash-meinel.com/branches/bzr/0.92-dev/bogus_removal_114615

------------------------------------------------------------
revno: 2927
revision-id:john at arbash-meinel.com-20071023213503-xrvfwqsaah4jmfn2
parent: john at arbash-meinel.com-20071023211052-ru4vxnhwb0vpemz4
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: bogus_removal_114615
timestamp: Tue 2007-10-23 16:35:03 -0500
message:
  Add a direct test for WT.unversion()
modified:
  bzrlib/tests/workingtree_implementations/test_unversion.py test_unversion.py-20060907074408-bygh2y28jz8u0cg7-1
-------------- next part --------------
=== modified file 'bzrlib/tests/workingtree_implementations/test_unversion.py'
--- a/bzrlib/tests/workingtree_implementations/test_unversion.py	2007-03-01 01:56:28 +0000
+++ b/bzrlib/tests/workingtree_implementations/test_unversion.py	2007-10-23 21:35:03 +0000
@@ -99,3 +99,41 @@
             self.assertTrue(tree.has_filename('d'))
         finally:
             tree.unlock()
+
+    def test_unversion_renamed(self):
+        tree = self.make_branch_and_tree('a')
+        self.build_tree(['a/dir/', 'a/dir/f1', 'a/dir/f2', 'a/dir/f3',
+                         'a/dir2/'])
+        tree.add(['dir', 'dir/f1', 'dir/f2', 'dir/f3', 'dir2'],
+                 ['dir-id', 'f1-id', 'f2-id', 'f3-id', 'dir2-id'])
+        rev_id1 = tree.commit('init')
+        # Start off by renaming entries, and then unversion a bunch of entries
+        # https://bugs.launchpad.net/bzr/+bug/114615
+        tree.rename_one('dir/f1', 'dir/a')
+        tree.rename_one('dir/f2', 'dir/z')
+        tree.move(['dir/f3'], 'dir2')
+
+        tree.lock_read()
+        try:
+            root_id = tree.inventory.root.file_id
+            paths = [(path, ie.file_id)
+                     for path, ie in tree.iter_entries_by_dir()]
+        finally:
+            tree.unlock()
+        self.assertEqual([('', root_id),
+                          ('dir', 'dir-id'),
+                          ('dir2', 'dir2-id'),
+                          ('dir/a', 'f1-id'),
+                          ('dir/z', 'f2-id'),
+                          ('dir2/f3', 'f3-id'),
+                         ], paths)
+
+        tree.unversion(set(['dir-id']))
+        paths = [(path, ie.file_id)
+                 for path, ie in tree.iter_entries_by_dir()]
+
+        self.assertEqual([('', root_id),
+                          ('dir2', 'dir2-id'),
+                          ('dir2/f3', 'f3-id'),
+                         ], paths)
+



More information about the bazaar-commits mailing list