Rev 4251: PythonGroupCompressor needs to support pop_last() properly. in lp:///~jameinel/bzr/1.14-dev6rr-fixes

John Arbash Meinel john at arbash-meinel.com
Sun Apr 19 02:16:35 BST 2009


At lp:///~jameinel/bzr/1.14-dev6rr-fixes

------------------------------------------------------------
revno: 4251
revision-id: john at arbash-meinel.com-20090419011626-2eq002nz7tkjij16
parent: john at arbash-meinel.com-20090419011310-3i7m20ict2dyjtcd
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: 1.14-dev6rr-fixes
timestamp: Sat 2009-04-18 20:16:26 -0500
message:
  PythonGroupCompressor needs to support pop_last() properly.
-------------- next part --------------
=== modified file 'bzrlib/groupcompress.py'
--- a/bzrlib/groupcompress.py	2009-04-07 14:06:22 +0000
+++ b/bzrlib/groupcompress.py	2009-04-19 01:16:26 +0000
@@ -743,6 +743,7 @@
         # Before insertion
         start = self.endpoint
         chunk_start = len(self.chunks)
+        self._last = (chunk_start, self.endpoint)
         self._delta_index.extend_lines(out_lines, index_lines)
         self.endpoint = self._delta_index.endpoint
         self.input_bytes += input_len

=== modified file 'bzrlib/tests/test_groupcompress.py'
--- a/bzrlib/tests/test_groupcompress.py	2009-04-07 14:06:22 +0000
+++ b/bzrlib/tests/test_groupcompress.py	2009-04-19 01:16:26 +0000
@@ -119,6 +119,16 @@
                           'different\n', sha1_2),
                          compressor.extract(('newlabel',)))
 
+    def test_pop_last(self):
+        compressor = self.compressor()
+        _, _, _, _ = compressor.compress(('key1',),
+            'some text\nfor the first entry\n', None)
+        expected_lines = list(compressor.chunks)
+        _, _, _, _ = compressor.compress(('key2',),
+            'some text\nfor the second entry\n', None)
+        compressor.pop_last()
+        self.assertEqual(expected_lines, compressor.chunks)
+
 
 class TestPyrexGroupCompressor(TestGroupCompressor):
 



More information about the bazaar-commits mailing list