Rev 3869: Improve the way we determine the signatures to transfer in in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Fri Nov 28 02:19:18 GMT 2008
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3869
revision-id: pqm at pqm.ubuntu.com-20081128021914-ajryb98qjwow6wfv
parent: pqm at pqm.ubuntu.com-20081128011117-4l4jwujo8pm2mitn
parent: andrew.bennetts at canonical.com-20081128014335-oelu95qu81xa8b48
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-11-28 02:19:14 +0000
message:
Improve the way we determine the signatures to transfer in
item_keys_introduced_by.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
------------------------------------------------------------
revno: 3825.5.4
revision-id: andrew.bennetts at canonical.com-20081128014335-oelu95qu81xa8b48
parent: andrew.bennetts at canonical.com-20081128014205-3zl07pye1uq6a6w1
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: item-key-tweak
timestamp: Fri 2008-11-28 12:43:35 +1100
message:
Add NEWS entry.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3825.5.3
revision-id: andrew.bennetts at canonical.com-20081128014205-3zl07pye1uq6a6w1
parent: andrew.bennetts at canonical.com-20081112000631-9k9uq1lj4phc1wrj
parent: pqm at pqm.ubuntu.com-20081128011117-4l4jwujo8pm2mitn
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: item-key-tweak
timestamp: Fri 2008-11-28 12:42:05 +1100
message:
Merge bzr.dev.
added:
bzrlib/foreign.py foreign.py-20081112170002-olsxmandkk8qyfuq-1
bzrlib/tests/test_foreign.py test_foreign.py-20081125004048-ywb901edgp9lluxo-1
contrib/convert_to_1.9.py convert_to_dev2.py-20081014130524-z1ydl3mq9b4ehlvv-1
tools/win32/build_release.py build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_readdir_pyx.pyx readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/branchbuilder.py branchbuilder.py-20070427022007-zlxpqz2lannhk6y8-1
bzrlib/btree_index.py index.py-20080624222253-p0x5f92uyh5hw734-7
bzrlib/bugtracker.py bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/mutabletree.py mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
bzrlib/option.py option.py-20051014052914-661fb36e76e7362f
bzrlib/plugin.py plugin.py-20050622060424-829b654519533d69
bzrlib/plugins/launchpad/account.py account.py-20071011033320-50y6vfftywf4yllw-1
bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
bzrlib/plugins/launchpad/test_account.py test_account.py-20071011033320-50y6vfftywf4yllw-2
bzrlib/python-compat.h pythoncompat.h-20080924041409-9kvi0fgtuuqp743j-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repofmt/weaverepo.py presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/shelf_ui.py shelver.py-20081005210102-33worgzwrtdw0yrm-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
bzrlib/tests/branch_implementations/test_sprout.py test_sprout.py-20070521151739-b8t8p7axw1h966ws-1
bzrlib/tests/branch_implementations/test_stacking.py test_stacking.py-20080214020755-msjlkb7urobwly0f-1
bzrlib/tests/commands/test_commit.py test_commit.py-20070913161801-ydrx2k5gmv7k7eiu-1
bzrlib/tests/interrepository_implementations/test_fetch.py test_fetch.py-20080425213627-j60cjh782ufm83ry-1
bzrlib/tests/per_repository/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/per_repository/test_revision.py testrevprops.py-20051013073044-92bc3c68302ce1bf
bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
bzrlib/tests/test_btree_index.py test_index.py-20080624222253-p0x5f92uyh5hw734-13
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_pack_repository.py test_pack_repository-20080801043947-eaw0e6h2gu75kwmy-1
bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
bzrlib/tests/test_plugins.py plugins.py-20050622075746-32002b55e5e943e9
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_revision.py testrevision.py-20050804210559-46f5e1eb67b01289
bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
bzrlib/tests/test_shelf_ui.py test_shelf_ui.py-20081027155203-wtcuazg85wp9u4fv-1
bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/transport/sftp.py sftp.py-20051019050329-ab48ce71b7e32dfe
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
------------------------------------------------------------
revno: 3825.5.2
revision-id: andrew.bennetts at canonical.com-20081112000631-9k9uq1lj4phc1wrj
parent: andrew.bennetts at canonical.com-20081111021503-q76h9iyczterfpxc
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: item-key-tweak
timestamp: Wed 2008-11-12 10:06:31 +1000
message:
Ensure that item_keys_introduced_by returns the
correct entries for signatures.
modified:
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
------------------------------------------------------------
revno: 3825.5.1
revision-id: andrew.bennetts at canonical.com-20081111021503-q76h9iyczterfpxc
parent: pqm at pqm.ubuntu.com-20081107225426-gezbao014attrca8
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: item-key-tweak
timestamp: Tue 2008-11-11 12:15:03 +1000
message:
Improve determining signatures to transfer in item_keys_introduced_by.
modified:
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
=== modified file 'NEWS'
--- a/NEWS 2008-11-27 22:47:53 +0000
+++ b/NEWS 2008-11-28 01:43:35 +0000
@@ -30,6 +30,9 @@
files accessed when pushing 1 new revision, for instance.
(John Arbash Meinel)
+ * Signatures to transfer are calculated more efficiently in
+ ``item_keys_introduced_by``. (Andrew Bennetts, John Arbash Meinel)
+
* The generic fetch code can once again copy revisions and signatures
without extracting them completely to fulltexts and then serializing
them back down into byte strings. This is a significant performance
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2008-11-27 22:47:53 +0000
+++ b/bzrlib/repository.py 2008-11-28 01:42:05 +0000
@@ -1544,15 +1544,14 @@
yield ("inventory", None, revision_ids)
# signatures
- revisions_with_signatures = set()
- for rev_id in revision_ids:
- try:
- self.get_signature_text(rev_id)
- except errors.NoSuchRevision:
- # not signed.
- pass
- else:
- revisions_with_signatures.add(rev_id)
+ # XXX: Note ATM no callers actually pay attention to this return
+ # instead they just use the list of revision ids and ignore
+ # missing sigs. Consider removing this work entirely
+ revisions_with_signatures = set(self.signatures.get_parent_map(
+ [(r,) for r in revision_ids]))
+ revisions_with_signatures = set(
+ [r for (r,) in revisions_with_signatures])
+ revisions_with_signatures.intersection_update(revision_ids)
yield ("signatures", None, revisions_with_signatures)
# revisions
=== modified file 'bzrlib/tests/per_repository/test_repository.py'
--- a/bzrlib/tests/per_repository/test_repository.py 2008-11-25 17:27:14 +0000
+++ b/bzrlib/tests/per_repository/test_repository.py 2008-11-28 01:42:05 +0000
@@ -562,6 +562,11 @@
tree.add('foo', 'file1')
tree.commit('message', rev_id='rev_id')
repo = tree.branch.repository
+ repo.lock_write()
+ repo.start_write_group()
+ repo.sign_revision('rev_id', bzrlib.gpg.LoopbackGPGStrategy(None))
+ repo.commit_write_group()
+ repo.unlock()
repo.lock_read()
self.addCleanup(repo.unlock)
@@ -574,7 +579,7 @@
expected_item_keys = [
('file', 'file1', ['rev_id']),
('inventory', None, ['rev_id']),
- ('signatures', None, []),
+ ('signatures', None, ['rev_id']),
('revisions', None, ['rev_id'])]
item_keys = list(repo.item_keys_introduced_by(['rev_id']))
item_keys = [
More information about the bazaar-commits
mailing list