Rev 3307: (Jelmer) Set inventory_sha1 in Repository.add_revision() if inventory in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Wed Mar 26 06:47:41 GMT 2008


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 3307
revision-id:pqm at pqm.ubuntu.com-20080326064729-bqj793c8y2dk8v4b
parent: pqm at pqm.ubuntu.com-20080326030652-vgwdkwda9mi8s200
parent: jelmer at samba.org-20080326043739-wdntqvpex3m0g6h2
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2008-03-26 06:47:29 +0000
message:
  (Jelmer) Set inventory_sha1 in Repository.add_revision() if inventory
  	is specified.
modified:
  bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
  bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
    ------------------------------------------------------------
    revno: 3305.1.1
    revision-id:jelmer at samba.org-20080326043739-wdntqvpex3m0g6h2
    parent: pqm at pqm.ubuntu.com-20080326003617-r5xl8b8d6dqqor3w
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: bzr.dev
    timestamp: Wed 2008-03-26 05:37:39 +0100
    message:
      Make sure that specifying the inv= argument to add_revision() sets the 
      inventory_sha1 for the revision correctly.
    modified:
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py	2008-03-26 01:25:15 +0000
+++ b/bzrlib/repository.py	2008-03-26 06:47:29 +0000
@@ -551,7 +551,8 @@
                                                      self.get_inventory_weave())
             else:
                 # yes, this is not suitable for adding with ghosts.
-                self.add_inventory(revision_id, inv, rev.parent_ids)
+                rev.inventory_sha1 = self.add_inventory(revision_id, inv, 
+                                                        rev.parent_ids)
         self._revision_store.add_revision(rev, self.get_transaction())
 
     def _add_revision_text(self, revision_id, text):

=== modified file 'bzrlib/tests/repository_implementations/test_repository.py'
--- a/bzrlib/tests/repository_implementations/test_repository.py	2008-03-10 15:39:56 +0000
+++ b/bzrlib/tests/repository_implementations/test_repository.py	2008-03-26 04:37:39 +0000
@@ -24,6 +24,7 @@
     bzrdir,
     errors,
     graph,
+    osutils,
     remote,
     repository,
     )
@@ -642,6 +643,23 @@
         self.assertEqual('This might be a signature',
                          repo.get_signature_text('A'))
 
+    def test_add_revision_inventory_sha1(self):
+        repo = self.make_repository('repo')
+        inv = Inventory(revision_id='A')
+        inv.root.revision = 'A'
+        inv.root.file_id = 'fixed-root'
+        repo.lock_write()
+        repo.start_write_group()
+        repo.add_revision('A', Revision('A', committer='B', timestamp=0,
+                          timezone=0, message='C'), inv=inv)
+        repo.commit_write_group()
+        repo.unlock()
+        repo.lock_read()
+        self.assertEquals(osutils.sha_string(
+            repo._serializer.write_inventory_to_string(inv)),
+            repo.get_revision('A').inventory_sha1)
+        repo.unlock()
+
     def test_install_revisions(self):
         wt = self.make_branch_and_tree('source')
         wt.commit('A', allow_pointless=True, rev_id='A')




More information about the bazaar-commits mailing list