Rev 3175: Merge next_with_ghosts support. in http://people.ubuntu.com/~robertc/baz2.0/more-find-ghosts
Robert Collins
robertc at robertcollins.net
Mon Jan 14 00:06:25 GMT 2008
At http://people.ubuntu.com/~robertc/baz2.0/more-find-ghosts
------------------------------------------------------------
revno: 3175
revision-id:robertc at robertcollins.net-20080114000613-3zal7v1to7k9xp5b
parent: robertc at robertcollins.net-20080111043302-0pi5csqyr1ugry00
parent: robertc at robertcollins.net-20080113235717-9a1w22q93j81nd0o
committer: Robert Collins <robertc at robertcollins.net>
branch nick: more-find-ghosts
timestamp: Mon 2008-01-14 11:06:13 +1100
message:
Merge next_with_ghosts support.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 3172.1.6
revision-id:robertc at robertcollins.net-20080113235717-9a1w22q93j81nd0o
parent: pqm at pqm.ubuntu.com-20080111214408-cpkslxu95eg5c45u
committer: Robert Collins <robertc at robertcollins.net>
branch nick: breadth-first-ghosts
timestamp: Mon 2008-01-14 10:57:17 +1100
message:
* New method ``next_with_ghosts`` on the Graph breadth-first-search objects
which will split out ghosts and present parents into two separate sets,
useful for code which needs to be aware of ghosts (e.g. fetching data
cares about ghosts during revision selection). (Robert Collins)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3172.1.5
revision-id:pqm at pqm.ubuntu.com-20080111214408-cpkslxu95eg5c45u
parent: pqm at pqm.ubuntu.com-20080111083251-et161scbblpkphri
parent: abentley at panoramicfeedback.com-20080111175920-dn202iylc1kfdfif
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-01-11 21:44:08 +0000
message:
Reconfigure can safely be interrupted while fetching (abentley,
#179316)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
------------------------------------------------------------
revno: 2796.2.30
revision-id:abentley at panoramicfeedback.com-20080111175920-dn202iylc1kfdfif
parent: abentley at panoramicfeedback.com-20080111174159-ruc9j1mkhqj9m94l
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.reconfigure
timestamp: Fri 2008-01-11 12:59:20 -0500
message:
Reconfigure can safely be interrupted while fetching (#179316)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
------------------------------------------------------------
revno: 2796.2.29
revision-id:abentley at panoramicfeedback.com-20080111174159-ruc9j1mkhqj9m94l
parent: abentley at panoramicfeedback.com-20071214153828-wc2w1i8ey025bb8x
parent: pqm at pqm.ubuntu.com-20080111083251-et161scbblpkphri
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: bzr.reconfigure
timestamp: Fri 2008-01-11 12:41:59 -0500
message:
Merge from bzr.dev
added:
bzrlib/help_topics/ help_topics-20071211013603-qz0sojhgxhiujm6a-1
bzrlib/help_topics/en/ bzrlibhelp-20071209214431-xzg3moksichjwyts-1
bzrlib/tests/repository_implementations/test_has_revisions.py test_has_revisions.p-20080111035443-xaupgdsx5fw1q54b-1
bzrlib/tests/test_http_implementations.py test_http_implementa-20071218210003-65nh81gglcfvurw6-1
bzrlib/version_info_formats/format_custom.py format_custom.py-20071029100350-ajovqhbpb5khf6gu-1
contrib/bzr_access bzr_access-20071210163004-c9lb1renhra2ncg0-1
doc/developers/inventory.txt inventory.txt-20080103013957-opkrhxy6lmywmx4i-1
doc/developers/lca-merge.txt lcamerge.txt-20080103061803-9isydn4ivgwrvorw-1
doc/en/tutorials/using_bazaar_with_launchpad.txt using_bazaar_with_lp-20071211073140-7msh8uf9a9h4y9hb-1
doc/en/user-reference/readme.txt readme.txt-20071211133352-guencaey6fpesv4j-1
renamed:
bzrlib/help_topics.py => bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/tests/HTTPTestUtil.py => bzrlib/tests/http_utils.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
bzrlib/tests/HttpServer.py => bzrlib/tests/http_server.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
doc/en/user-guide/authentication_conf.txt => bzrlib/help_topics/en/authentication.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
doc/en/user-guide/configuration.txt => bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
doc/en/user-guide/conflicts.txt => bzrlib/help_topics/en/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
doc/en/user-reference/hooks.txt => bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
modified:
.bzrignore bzrignore-20050311232317-81f7b71efa2db11a
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
README README-20050309040720-8f368abf9f346b9d
bzrlib/_patiencediff_c.c _patiencediff_c.c-20070721205602-q3imkipwlgagp3cy-1
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/bugtracker.py bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/cmd_version_info.py __init__.py-20051228204928-697d01fdca29c99b
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/conflicts.py conflicts.py-20051001061850-78ef952ba63d2b42
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/option.py option.py-20051014052914-661fb36e76e7362f
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/progress.py progress.py-20050610070202-df9faaab791964c0
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-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/revision.py revision.py-20050309040759-e77802c08f3999d5
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/smart/vfs.py vfs.py-20061108095550-gunadhxmzkdjfeek-2
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/TestUtil.py TestUtil.py-20050824080200-5f70140a2d938694
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_annotate.py testannotate.py-20051013044000-457f44801bfa9d39
bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
bzrlib/tests/blackbox/test_ignore.py test_ignore.py-20060703063225-4tm8dc2pa7wwg2t3-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/blackbox/test_non_ascii.py test_non_ascii.py-20060105214030-68010be784a5d854
bzrlib/tests/blackbox/test_outside_wt.py test_outside_wt.py-20060116200058-98edd33e7db8bdde
bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
bzrlib/tests/blackbox/test_split.py test_split.py-20061008023421-qy0vdpzysh5rriu8-1
bzrlib/tests/blackbox/test_too_much.py blackbox.py-20050620052131-a7370d756399f615
bzrlib/tests/blackbox/test_upgrade.py test_upgrade.py-20060120060132-b41e5ed2f886ad28
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_http.py test_http.py-20060731224648-2eef7ae5yja95rya-1
bzrlib/tests/branch_implementations/test_parent.py test_parent.py-20050830052751-5e62766623c32222
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/inventory_implementations/__init__.py __init__.py-20070821044532-olbadbokgv3qv1yd-1
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_ancestry.py test_ancestry.py-20050913023709-69768e94848312c6
bzrlib/tests/test_bundle.py test.py-20050630184834-092aa401ab9f039c
bzrlib/tests/test_bzrdir.py test_bzrdir.py-20060131065654-deba40eef51cf220
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
bzrlib/tests/test_conflicts.py test_conflicts.py-20051006031059-e2dad9bbeaa5891f
bzrlib/tests/test_diff.py testdiff.py-20050727164403-d1a3496ebb12e339
bzrlib/tests/test_extract.py test_extract.py-20061002214140-qdnnm67q1ov6x6pd-1
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_help.py test_help.py-20070419045354-6q6rq15j9e2n5fna-1
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_progress.py test_progress.py-20060308160359-978c397bc79b7fda
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_revert.py test_revert.py-20060828180832-fqb1v6ecpyvnlitj-1
bzrlib/tests/test_revision.py testrevision.py-20050804210559-46f5e1eb67b01289
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_urlutils.py test_urlutils.py-20060502192900-46b1f9579987cf9c
bzrlib/tests/test_version_info.py test_version_info.py-20051228204928-2c364e30b702b41b
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/test_win32utils.py test_win32utils.py-20070713181630-8xsrjymd3e8mgw23-108
bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/urlutils.py urlutils.py-20060502195429-e8a161ecf8fac004
bzrlib/version_info_formats/__init__.py generate_version_info.py-20051228204928-8358edabcddcd97e
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
bzrlib/xml_serializer.py xml.py-20050309040759-57d51586fdec365d
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
doc/en/user-guide/browsing_history.txt browsing_history.txt-20071121073725-0corxykv5irjal00-2
doc/en/user-guide/bug_trackers.txt bug_trackers.txt-20070713223459-khxdlcudraii95uv-1
doc/en/user-guide/configuring_bazaar.txt configuring_bazaar.t-20071128000722-ncxiua259xwbdbg7-1
doc/en/user-guide/hooks.txt hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
doc/en/user-guide/index.txt index.txt-20060622101119-tgwtdci8z769bjb9-2
doc/en/user-guide/introducing_bazaar.txt introducing_bazaar.t-20071114035000-q36a9h57ps06uvnl-5
doc/en/user-guide/sending_changes.txt sending_changes.txt-20071123154453-dk2mjhrg1vpjm5w2-4
doc/en/user-guide/setting_up_email.txt setting_up_email.txt-20060314161707-fd242c8944346173
doc/en/user-guide/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
doc/index.txt index.txt-20070813101924-07gd9i9d2jt124bf-1
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
tools/doc_generate/autodoc_rstx.py autodoc_rstx.py-20060420024836-3e0d4a526452193c
tools/rst2html.py rst2html.py-20060817120932-gn177u8v0008txhu-1
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/tests/http_utils.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
bzrlib/tests/http_server.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/help_topics/en/authentication.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
bzrlib/help_topics/en/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
------------------------------------------------------------
revno: 3172.1.4
revision-id:pqm at pqm.ubuntu.com-20080111083251-et161scbblpkphri
parent: pqm at pqm.ubuntu.com-20080111070636-jhozu5eo7wvh1k0o
parent: robertc at robertcollins.net-20080111054654-vn3mvu7ylqb6gfw3
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-01-11 08:32:51 +0000
message:
(robertc) Add Repository.has_revisions as part of improving pull.
(Robert Collins)
added:
bzrlib/tests/repository_implementations/test_has_revisions.py test_has_revisions.p-20080111035443-xaupgdsx5fw1q54b-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-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/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
------------------------------------------------------------
revno: 3173.1.2
revision-id:robertc at robertcollins.net-20080111054654-vn3mvu7ylqb6gfw3
parent: robertc at robertcollins.net-20080111052846-oxt52a13l5mu73wj
committer: Robert Collins <robertc at robertcollins.net>
branch nick: integration
timestamp: Fri 2008-01-11 16:46:54 +1100
message:
Missed one occurence of None -> NULL_REVISION.
modified:
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
------------------------------------------------------------
revno: 3173.1.1
revision-id:robertc at robertcollins.net-20080111052846-oxt52a13l5mu73wj
parent: robertc at robertcollins.net-20080111035451-52at4031ohbmtoh2
parent: pqm at pqm.ubuntu.com-20080111050820-eendmy6xgfc6w0yc
committer: Robert Collins <robertc at robertcollins.net>
branch nick: integration
timestamp: Fri 2008-01-11 16:28:46 +1100
message:
Resolve conflicts.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 3172.1.3
revision-id:pqm at pqm.ubuntu.com-20080111070636-jhozu5eo7wvh1k0o
parent: pqm at pqm.ubuntu.com-20080111050820-eendmy6xgfc6w0yc
parent: andrew.bennetts at canonical.com-20080111045553-g8rfanwmvy2bchtp
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-01-11 07:06:36 +0000
message:
(andrew) Enable use of smart revision streaming between repos with
compatible models.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
------------------------------------------------------------
revno: 3172.3.1
revision-id:andrew.bennetts at canonical.com-20080111045553-g8rfanwmvy2bchtp
parent: pqm at pqm.ubuntu.com-20080110025628-6tl4b9cmdn335suw
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: remote-fetch-formats
timestamp: Fri 2008-01-11 15:55:53 +1100
message:
Enable use of smart revision streaming between repos with compatible models, not just between identical format repos.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
------------------------------------------------------------
revno: 3172.1.2
revision-id:pqm at pqm.ubuntu.com-20080111050820-eendmy6xgfc6w0yc
parent: pqm at pqm.ubuntu.com-20080111025153-mqrn9i5o3hqezw75
parent: andrew.bennetts at canonical.com-20080111033844-cizzv5e8e7aup5pv
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-01-11 05:08:20 +0000
message:
(andrew) Add Smart request that can stream revisions without
buffering.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 2535.3.55.1.31
revision-id:andrew.bennetts at canonical.com-20080111033844-cizzv5e8e7aup5pv
parent: andrew.bennetts at canonical.com-20080102080932-j6x7n1jfp84dhl1z
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2008-01-11 14:38:44 +1100
message:
Tweak in response to review comments.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
------------------------------------------------------------
revno: 2535.3.55.1.30
revision-id:andrew.bennetts at canonical.com-20080102080932-j6x7n1jfp84dhl1z
parent: andrew.bennetts at canonical.com-20080102075837-q0jhh6ay67iofbww
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 19:09:32 +1100
message:
Use ContainerSerialiser rather than ContainerWriter in bzrlib/smart/repository.py.
modified:
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
------------------------------------------------------------
revno: 2535.3.55.1.29
revision-id:andrew.bennetts at canonical.com-20080102075837-q0jhh6ay67iofbww
parent: andrew.bennetts at canonical.com-20080102061455-4dw3x13jcnzc4d8c
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 18:58:37 +1100
message:
Add a new smart method, Repository.stream_revisions_chunked, rather than changing the behaviour of an existing method.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
------------------------------------------------------------
revno: 2535.3.55.1.28
revision-id:andrew.bennetts at canonical.com-20080102061455-4dw3x13jcnzc4d8c
parent: andrew.bennetts at canonical.com-20080102060803-svnxno2teuvzjzv0
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 17:14:55 +1100
message:
Add NEWS entry.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 2535.3.55.1.27
revision-id:andrew.bennetts at canonical.com-20080102060803-svnxno2teuvzjzv0
parent: andrew.bennetts at canonical.com-20080102060740-hb8x48e7ofnrm9qz
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 17:08:03 +1100
message:
Remove some unused imports.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
------------------------------------------------------------
revno: 2535.3.55.1.26
revision-id:andrew.bennetts at canonical.com-20080102060740-hb8x48e7ofnrm9qz
parent: andrew.bennetts at canonical.com-20080102030859-jz7xiw3b41ki2ffi
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 17:07:40 +1100
message:
Fix locking problem that was hanging the tests.
modified:
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
------------------------------------------------------------
revno: 2535.3.55.1.25
revision-id:andrew.bennetts at canonical.com-20080102030859-jz7xiw3b41ki2ffi
parent: andrew.bennetts at canonical.com-20071110151005-tno9mb24o0jzcv70
parent: pqm at pqm.ubuntu.com-20071228175832-9kboqtkemnuzzlab
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Wed 2008-01-02 14:08:59 +1100
message:
Merge from bzr.dev.
removed:
doc/en/user-reference/index.txt index.txt-20070830033353-ud9e03xsh24053oo-1
added:
bzrlib/help_topics/ help_topics-20071211013603-qz0sojhgxhiujm6a-1
bzrlib/help_topics/en/ bzrlibhelp-20071209214431-xzg3moksichjwyts-1
bzrlib/lru_cache.py lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
bzrlib/switch.py switch.py-20071116011000-v5lnw7d2wkng9eux-1
bzrlib/tests/blackbox/test_switch.py test_switch.py-20071122111948-0c5en6uz92bwl76h-1
bzrlib/tests/repository_implementations/test__generate_text_key_index.py test__generate_text_-20071114232121-00h9fd8qg8kjfa5k-1
bzrlib/tests/repository_implementations/test_find_text_key_references.py test_find_text_key_r-20071114033605-v73bakal8x77qlfi-1
bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
bzrlib/tests/tree_implementations/test_get_root_id.py test_get_root_id.py-20071026191509-a4conhr43f194avv-1
bzrlib/version_info_formats/format_custom.py format_custom.py-20071029100350-ajovqhbpb5khf6gu-1
doc/en/quick-reference/quick-start-summary.pdf quickstartsummary.pd-20071207005239-it6xmdjml8nxvzgt-1
doc/en/quick-reference/quick-start-summary.png quickstartsummary.pn-20071203142852-hsiybkmh37q5owwe-1
doc/en/tutorials/ docentutorials-20071127235845-bm2lu60bvau1ptmh-1
doc/en/user-guide/adv_merging.txt adv_merging.txt-20071213070245-d7u7150lb2hhnvby-1
doc/en/user-guide/annotating_changes.txt annotating_changes.t-20071122141511-0knao2lklsdsvb1q-1
doc/en/user-guide/bazaar_workflows.txt bazaar_workflows.txt-20071114035000-q36a9h57ps06uvnl-1
doc/en/user-guide/best_practice_intro.txt best_practice_intro.-20071123154453-dk2mjhrg1vpjm5w2-1
doc/en/user-guide/branching_a_project.txt branching_a_project.-20071122141511-0knao2lklsdsvb1q-2
doc/en/user-guide/browsing_history.txt browsing_history.txt-20071121073725-0corxykv5irjal00-2
doc/en/user-guide/central_intro.txt central_intro.txt-20071123055134-k5x4ekduci2lbn36-1
doc/en/user-guide/configuring_bazaar.txt configuring_bazaar.t-20071128000722-ncxiua259xwbdbg7-1
doc/en/user-guide/controlling_registration.txt controlling_registra-20071121073725-0corxykv5irjal00-3
doc/en/user-guide/core_concepts.txt core_concepts.txt-20071114035000-q36a9h57ps06uvnl-2
doc/en/user-guide/distributed_intro.txt distributed_intro.tx-20071123154453-dk2mjhrg1vpjm5w2-2
doc/en/user-guide/entering_commands.txt using_bazaar.txt-20071114035000-q36a9h57ps06uvnl-6
doc/en/user-guide/getting_help.txt getting_help.txt-20071128000722-ncxiua259xwbdbg7-2
doc/en/user-guide/images/ images-20071114035000-q36a9h57ps06uvnl-3
doc/en/user-guide/images/workflows_centralized.png workflows_centralize-20071114035000-q36a9h57ps06uvnl-8
doc/en/user-guide/images/workflows_centralized.svg workflows_centralize-20071130043324-bhms0cgyphhq1b2x-1
doc/en/user-guide/images/workflows_gatekeeper.png workflows_gatekeeper-20071114035000-q36a9h57ps06uvnl-9
doc/en/user-guide/images/workflows_gatekeeper.svg workflows_gatekeeper-20071130043324-bhms0cgyphhq1b2x-2
doc/en/user-guide/images/workflows_localcommit.png workflows_localcommi-20071114035000-q36a9h57ps06uvnl-10
doc/en/user-guide/images/workflows_localcommit.svg workflows_localcommi-20071130043324-bhms0cgyphhq1b2x-3
doc/en/user-guide/images/workflows_peer.png workflows_peer.png-20071114035000-q36a9h57ps06uvnl-11
doc/en/user-guide/images/workflows_peer.svg workflows_peer.svg-20071130043324-bhms0cgyphhq1b2x-4
doc/en/user-guide/images/workflows_pqm.png workflows_pqm.png-20071114035000-q36a9h57ps06uvnl-12
doc/en/user-guide/images/workflows_pqm.svg workflows_pqm.svg-20071130043324-bhms0cgyphhq1b2x-5
doc/en/user-guide/images/workflows_shared.png workflows_shared.png-20071114035000-q36a9h57ps06uvnl-13
doc/en/user-guide/images/workflows_shared.svg workflows_shared.svg-20071130043324-bhms0cgyphhq1b2x-6
doc/en/user-guide/images/workflows_single.png workflows_single.png-20071114035000-q36a9h57ps06uvnl-14
doc/en/user-guide/images/workflows_single.svg workflows_single.svg-20071130043324-bhms0cgyphhq1b2x-7
doc/en/user-guide/installing_bazaar.txt installing_bazaar.tx-20071114035000-q36a9h57ps06uvnl-4
doc/en/user-guide/introducing_bazaar.txt introducing_bazaar.t-20071114035000-q36a9h57ps06uvnl-5
doc/en/user-guide/merging_changes.txt merging_changes.txt-20071122141511-0knao2lklsdsvb1q-3
doc/en/user-guide/organizing_branches.txt organizing_branches.-20071123154453-dk2mjhrg1vpjm5w2-3
doc/en/user-guide/partner_intro.txt partner_workflow.txt-20071122141511-0knao2lklsdsvb1q-4
doc/en/user-guide/publishing_a_branch.txt publishing_a_branch.-20071123055134-k5x4ekduci2lbn36-2
doc/en/user-guide/recording_changes.txt recording_changes.tx-20071121073725-0corxykv5irjal00-4
doc/en/user-guide/releasing_a_project.txt releasing_a_project.-20071121073725-0corxykv5irjal00-5
doc/en/user-guide/resolving_conflicts.txt resolving_conflicts.-20071122141511-0knao2lklsdsvb1q-5
doc/en/user-guide/reusing_a_checkout.txt reusing_a_checkout.t-20071123055134-k5x4ekduci2lbn36-3
doc/en/user-guide/reviewing_changes.txt reviewing_changes.tx-20071121073725-0corxykv5irjal00-6
doc/en/user-guide/sending_changes.txt sending_changes.txt-20071123154453-dk2mjhrg1vpjm5w2-4
doc/en/user-guide/solo_intro.txt solo_workflow.txt-20071121073725-0corxykv5irjal00-7
doc/en/user-guide/starting_a_project.txt starting_a_project.t-20071121073725-0corxykv5irjal00-8
doc/en/user-guide/undoing_mistakes.txt undoing_mistakes.txt-20071121092300-8fyacngt1w98e5mp-1
doc/en/user-guide/using_checkouts.txt using_checkouts.txt-20071123055134-k5x4ekduci2lbn36-4
doc/en/user-guide/using_gatekeepers.txt using_gatekeepers.tx-20071123154453-dk2mjhrg1vpjm5w2-5
doc/en/user-guide/working_offline_central.txt working_offline_cent-20071123055134-k5x4ekduci2lbn36-5
doc/en/user-guide/writing_a_plugin.txt writing_a_plugin.txt-20071114035000-q36a9h57ps06uvnl-7
doc/en/user-reference/readme.txt readme.txt-20071211133352-guencaey6fpesv4j-1
index.txt index.txt-20071121073725-0corxykv5irjal00-1
renamed:
bzrlib/help_topics.py => bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
doc/developers/knitpack.txt => doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
doc/en/user-guide/authentication_conf.txt => bzrlib/help_topics/en/authentication.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
doc/en/user-guide/centralized_workflow.txt => doc/en/tutorials/centralized_workflow.txt centralized_workflow-20060830194948-kspf52565xvgrlil-1
doc/en/user-guide/configuration.txt => bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
doc/en/user-guide/conflicts.txt => bzrlib/help_topics/en/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
doc/en/user-guide/tutorial.txt => doc/en/tutorials/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
doc/en/user-reference/hooks.txt => bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
modified:
.bzrignore bzrignore-20050311232317-81f7b71efa2db11a
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
README README-20050309040720-8f368abf9f346b9d
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/_patiencediff_c.c _patiencediff_c.c-20070721205602-q3imkipwlgagp3cy-1
bzrlib/annotate.py annotate.py-20050922133147-7c60541d2614f022
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/bugtracker.py bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/check.py check.py-20050309040759-f3a679400c06bcc1
bzrlib/cmd_version_info.py __init__.py-20051228204928-697d01fdca29c99b
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/conflicts.py conflicts.py-20051001061850-78ef952ba63d2b42
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/mail_client.py mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
bzrlib/memorytree.py memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/merge_directive.py merge_directive.py-20070228184838-ja62280spt1g7f4x-1
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/plugin.py plugin.py-20050622060424-829b654519533d69
bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
bzrlib/plugins/launchpad/lp_indirect.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
bzrlib/plugins/launchpad/lp_registration.py lp_registration.py-20060315190948-daa617eafe3a8d48
bzrlib/plugins/launchpad/test_lp_indirect.py test_lp_indirect.py-20070126002743-oyle362tzv9cd8mi-1
bzrlib/plugins/launchpad/test_register.py test_register.py-20060315182712-40f5dda945c829a8
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revision.py revision.py-20050309040759-e77802c08f3999d5
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/sign_my_commits.py sign_my_commits.py-20060215152201-5a6363365180e671
bzrlib/smart/branch.py branch.py-20061124031907-mzh3pla28r83r97f-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/HTTPTestUtil.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/TestUtil.py TestUtil.py-20050824080200-5f70140a2d938694
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
bzrlib/tests/blackbox/test_bound_branches.py test_bound_branches.py-20051109215527-2373188ad566c205
bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
bzrlib/tests/blackbox/test_non_ascii.py test_non_ascii.py-20060105214030-68010be784a5d854
bzrlib/tests/blackbox/test_outside_wt.py test_outside_wt.py-20060116200058-98edd33e7db8bdde
bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
bzrlib/tests/blackbox/test_reconcile.py test_fix.py-20060223013051-9a188e15a5ee9451
bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
bzrlib/tests/blackbox/test_remove.py test_remove.py-20060530011439-fika5rm84lon0goe-1
bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
bzrlib/tests/blackbox/test_split.py test_split.py-20061008023421-qy0vdpzysh5rriu8-1
bzrlib/tests/blackbox/test_uncommit.py test_uncommit.py-20051027212835-84944b63adae51be
bzrlib/tests/blackbox/test_upgrade.py test_upgrade.py-20060120060132-b41e5ed2f886ad28
bzrlib/tests/blackbox/test_versioning.py versioning.py-20050622071821-3ddf5e2e5e93c602
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_break_lock.py test_break_lock.py-20060504111902-9aae411dbe9aadd2
bzrlib/tests/branch_implementations/test_create_checkout.py test_create_checkout-20070322193723-n2wkp1g03r0404di-1
bzrlib/tests/branch_implementations/test_get_revision_id_to_revno_map.py test_get_revision_id-20070417211641-6kcoj1c704gqqopn-1
bzrlib/tests/branch_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-4
bzrlib/tests/branch_implementations/test_pull.py test_pull.py-20060410103942-83c35b26657414fc
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
bzrlib/tests/commands/test_checkout.py test_checkout.py-20070525151718-vm7ligd5px5dtmda-1
bzrlib/tests/ftp_server.py ftpserver.py-20071019102346-61jbvdkrr70igauv-1
bzrlib/tests/interrepository_implementations/__init__.py __init__.py-20060220054744-baf49a1f88f17b1a
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
bzrlib/tests/repository_implementations/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_ancestry.py test_ancestry.py-20050913023709-69768e94848312c6
bzrlib/tests/test_annotate.py test_annotate.py-20061213215015-sttc9agsxomls7q0-1
bzrlib/tests/test_bugtracker.py test_bugtracker.py-20070410073305-vu1vu1qosjurg8kb-2
bzrlib/tests/test_bzrdir.py test_bzrdir.py-20060131065654-deba40eef51cf220
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_conflicts.py test_conflicts.py-20051006031059-e2dad9bbeaa5891f
bzrlib/tests/test_diff.py testdiff.py-20050727164403-d1a3496ebb12e339
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_extract.py test_extract.py-20061002214140-qdnnm67q1ov6x6pd-1
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_help.py test_help.py-20070419045354-6q6rq15j9e2n5fna-1
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
bzrlib/tests/test_memorytree.py test_memorytree.py-20060906023413-4wlkalbdpsxi2r4y-3
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_plugins.py plugins.py-20050622075746-32002b55e5e943e9
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_revert.py test_revert.py-20060828180832-fqb1v6ecpyvnlitj-1
bzrlib/tests/test_revision.py testrevision.py-20050804210559-46f5e1eb67b01289
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_ssh_transport.py test_ssh_transport.p-20070105153201-f7iq2bosvgjbdgc3-1
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_upgrade.py test_upgrade.py-20051004040251-555fe1d2bae1bc71
bzrlib/tests/test_version_info.py test_version_info.py-20051228204928-2c364e30b702b41b
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/tests/workingtree_implementations/test_break_lock.py test_break_lock.py-20060504115740-233e245df546fd42
bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
bzrlib/tests/workingtree_implementations/test_remove.py test_remove.py-20070413183901-rvnp85rtc0q0sclp-1
bzrlib/tests/workingtree_implementations/test_unversion.py test_unversion.py-20060907074408-bygh2y28jz8u0cg7-1
bzrlib/tests/workingtree_implementations/test_walkdirs.py test_walkdirs.py-20060731045042-ch366w6dve2m7ro9-1
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
bzrlib/transport/local.py local_transport.py-20050711165921-9b1f142bfe480c24
bzrlib/transport/memory.py memory.py-20051016101338-cd008dbdf69f04fc
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/transport/ssh.py ssh.py-20060824042150-0s9787kng6zv1nwq-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/util/configobj/configobj.py configobj.py-20051018184548-06992a2246425e3e
bzrlib/util/configobj/docs/BSD-LICENSE.txt BSDLICENSE.txt-20051018184548-29b89ff3102657f5
bzrlib/util/configobj/docs/configobj.txt configobj.txt-20051018184548-4949b5f17e6a19c7
bzrlib/util/configobj/docs/validate.txt validate.txt-20051018184548-9e0e5ad913e258f5
bzrlib/version_info_formats/__init__.py generate_version_info.py-20051228204928-8358edabcddcd97e
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
bzrlib/win32utils.py win32console.py-20051021033308-123c6c929d04973d
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/developers/bundles.txt bundles.txt-20070621030528-qkjnugd7iyud6ow3-1
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
doc/developers/performance-contributing.txt performancecontribut-20070621063612-ac4zhhagjzkr21qp-1
doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
doc/en/quick-reference/quick-start-summary.svg quickstartsummary.sv-20070813143223-5i7bgw7w8s7l3ae2-3
doc/en/user-guide/bug_trackers.txt bug_trackers.txt-20070713223459-khxdlcudraii95uv-1
doc/en/user-guide/hooks.txt hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
doc/en/user-guide/http_smart_server.txt fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
doc/en/user-guide/index.txt index.txt-20060622101119-tgwtdci8z769bjb9-2
doc/en/user-guide/plugins.txt plugins.txt-20060314145616-525099a747f3ffdd
doc/en/user-guide/server.txt server.txt-20060913044801-h939fvbwzz39gf7g-1
doc/en/user-guide/setting_up_email.txt setting_up_email.txt-20060314161707-fd242c8944346173
doc/en/user-guide/shared_repository_layouts.txt shared_repository_la-20070502152030-bagewuqs18ns24o7-1
doc/en/user-guide/specifying_revisions.txt specifying_revisions.txt-20060314161707-19deb139101bea33
doc/en/user-guide/using_aliases.txt using_aliases.txt-20060314161707-c21d27fa2939e039
doc/en/user-guide/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
doc/index.txt index.txt-20070813101924-07gd9i9d2jt124bf-1
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
tools/doc_generate/autodoc_rstx.py autodoc_rstx.py-20060420024836-3e0d4a526452193c
tools/rst2html.py rst2html.py-20060817120932-gn177u8v0008txhu-1
tools/win32/bzr.iss.cog bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
bzrlib/help_topics/en/authentication.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
bzrlib/help_topics/en/configuration.txt configuration.txt-20060314161707-868350809502af01
bzrlib/help_topics/en/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
doc/en/tutorials/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
------------------------------------------------------------
revno: 2535.3.55.1.24
revision-id:andrew.bennetts at canonical.com-20071110151005-tno9mb24o0jzcv70
parent: andrew.bennetts at canonical.com-20071110150909-ik5254kgn930th10
parent: andrew.bennetts at canonical.com-20071109204954-nvvh3mbjk5g9sr6x
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Sat 2007-11-10 10:10:05 -0500
message:
Merge from hpss-streaming.
modified:
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-1
------------------------------------------------------------
revno: 2535.3.55.1.23
revision-id:andrew.bennetts at canonical.com-20071110150909-ik5254kgn930th10
parent: andrew.bennetts at canonical.com-20071029084920-fbybous3xzspcu4n
parent: andrew.bennetts at canonical.com-20071110145614-bxpv031fq77cjg5j
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Sat 2007-11-10 10:09:09 -0500
message:
Merge streamable-containers.
added:
bzrlib/plugins/launchpad/account.py account.py-20071011033320-50y6vfftywf4yllw-1
bzrlib/plugins/launchpad/test_account.py test_account.py-20071011033320-50y6vfftywf4yllw-2
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/tests/blackbox/test_check.py test_check.py-20071024054728-mn44rt3z5hnqcbke-1
bzrlib/tests/ftp_server.py ftpserver.py-20071019102346-61jbvdkrr70igauv-1
doc/developers/knitpack.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
doc/en/user-guide/authentication_conf.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
modified:
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/annotate.py annotate.py-20050922133147-7c60541d2614f022
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/commands.py __init__.py-20050617152058-1b6530d9ab85c11c
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/check.py check.py-20050309040759-f3a679400c06bcc1
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/delta.py delta.py-20050729221636-54cf14ef94783d0a
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/export/__init__.py __init__.py-20051114235828-1ba62cb4062304e6
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/info.py info.py-20050323235939-6bbfe7d9700b0b9b
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lazy_import.py lazy_import.py-20060910203832-f77c54gf3n232za0-1
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/lsprof.py lsprof.py-20051208071030-833790916798ceed
bzrlib/mutabletree.py mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
bzrlib/plugins/launchpad/lp_registration.py lp_registration.py-20060315190948-daa617eafe3a8d48
bzrlib/plugins/launchpad/test_register.py test_register.py-20060315182712-40f5dda945c829a8
bzrlib/plugins/multiparent.py mpregen-20070411063203-5x9z7i73add0d6f6-1
bzrlib/progress.py progress.py-20050610070202-df9faaab791964c0
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/repofmt/weaverepo.py presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/rio.py rio.py-20051128032247-770b120b34dfff60
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/smtp_connection.py smtp_connection.py-20070618204456-nu6wag1ste4biuk2-1
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/HTTPTestUtil.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
bzrlib/tests/blackbox/test_debug.py test_debug.py-20061026142942-q76cgg41785b3mdk-1
bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
bzrlib/tests/blackbox/test_ignore.py test_ignore.py-20060703063225-4tm8dc2pa7wwg2t3-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_merge_directive.py test_merge_directive-20070302012039-zh7uhy39biairtn0-1
bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
bzrlib/tests/blackbox/test_non_ascii.py test_non_ascii.py-20060105214030-68010be784a5d854
bzrlib/tests/blackbox/test_tags.py test_tags.py-20070116132048-5h4qak2cm22jlb9e-1
bzrlib/tests/blackbox/test_update.py test_update.py-20060212125639-c4dad1a5c56d5919
bzrlib/tests/blackbox/test_whoami.py test_whoami.py-20060629025641-8h3m2ch7kutqx7ug-1
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_break_lock.py test_break_lock.py-20060504111902-9aae411dbe9aadd2
bzrlib/tests/branch_implementations/test_create_checkout.py test_create_checkout-20070322193723-n2wkp1g03r0404di-1
bzrlib/tests/branch_implementations/test_pull.py test_pull.py-20060410103942-83c35b26657414fc
bzrlib/tests/branch_implementations/test_push.py test_push.py-20070130153159-fhfap8uoifevg30j-1
bzrlib/tests/branch_implementations/test_sprout.py test_sprout.py-20070521151739-b8t8p7axw1h966ws-1
bzrlib/tests/interrepository_implementations/__init__.py __init__.py-20060220054744-baf49a1f88f17b1a
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
bzrlib/tests/inventory_implementations/basics.py basics.py-20070903044446-kdjwbiu1p1zi9phs-1
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/helpers.py helpers.py-20070924032407-m460yl9j5gu5ju85-2
bzrlib/tests/repository_implementations/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
bzrlib/tests/repository_implementations/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/repository_implementations/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
bzrlib/tests/test_bad_files.py test_bad_files.py-20050918155938-c76a2295c8ab9503
bzrlib/tests/test_bundle.py test.py-20050630184834-092aa401ab9f039c
bzrlib/tests/test_bzrdir.py test_bzrdir.py-20060131065654-deba40eef51cf220
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
bzrlib/tests/test_commit_merge.py test_commit_merge.py-20050920084723-819eeeff77907bc5
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_ftp_transport.py test_aftp_transport.-20060823221619-98mwjzxtwtkt527k-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_hashcache.py testhashcache.py-20050706091800-0288ab2659338981
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
bzrlib/tests/test_lazy_import.py test_lazy_import.py-20060910203832-f77c54gf3n232za0-2
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_osutils_encodings.py test_osutils_encodin-20061226013130-kkp732tpt3lm91vv-1
bzrlib/tests/test_plugins.py plugins.py-20050622075746-32002b55e5e943e9
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_smtp_connection.py test_smtp_connection-20070618204509-wuyxc0r0ztrecv7e-1
bzrlib/tests/test_testament.py testtestament.py-20051011100429-5df1657310caa929
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_xml.py test_xml.py-20050905091053-80b45588931a9b35
bzrlib/tests/tree_implementations/test_get_symlink_target.py test_get_symlink_tar-20070225165554-ickod3w3t7u0zzqh-1
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/tests/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
bzrlib/tests/workingtree_implementations/test_executable.py test_executable.py-20060628162557-tr7h57kl80l3ma8i-1
bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
bzrlib/tests/workingtree_implementations/test_pull.py test_pull.py-20060222044334-43594dd8e143b708
bzrlib/tests/workingtree_implementations/test_unversion.py test_unversion.py-20060907074408-bygh2y28jz8u0cg7-1
bzrlib/tests/workingtree_implementations/test_walkdirs.py test_walkdirs.py-20060731045042-ch366w6dve2m7ro9-1
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/memory.py memory.py-20051016101338-cd008dbdf69f04fc
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/transport/sftp.py sftp.py-20051019050329-ab48ce71b7e32dfe
bzrlib/transport/ssh.py ssh.py-20060824042150-0s9787kng6zv1nwq-1
bzrlib/util/configobj/configobj.py configobj.py-20051018184548-06992a2246425e3e
bzrlib/version.py version.py-20060816024207-ves6ult9a11taj9t-1
bzrlib/weavefile.py weavefile.py-20050629135233-2ffe0200f103f6c2
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
bzrlib/xml5.py xml5.py-20050907032657-aac8f960815b66b1
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/developers/authentication-ring.txt authring.txt-20070718200437-q5tdik0ne6lor86d-1
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
doc/developers/repository.txt repository.txt-20070709152006-xkhlek456eclha4u-1
doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
doc/en/user-guide/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
generate_docs.py bzrinfogen.py-20051211224525-78e7c14f2c955e55
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
tools/win32/bzr-win32-bdist-postinstall.py bzrwin32bdistpostinstall.py-20060629085133-098bsfj3va8jc0ql-1
------------------------------------------------------------
revno: 2535.3.55.1.22
revision-id:andrew.bennetts at canonical.com-20071029084920-fbybous3xzspcu4n
parent: andrew.bennetts at canonical.com-20071022072757-93pzz251z76wvrp4
parent: andrew.bennetts at canonical.com-20071029083438-ke1vsv97dvgrvup5
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-29 19:49:20 +1100
message:
Merge from streamable-containers.
modified:
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
bzrlib/tests/test_pack.py test_container.py-20070607160755-tr8zc26q18rn0jnb-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
------------------------------------------------------------
revno: 2535.3.55.1.21
revision-id:andrew.bennetts at canonical.com-20071022072757-93pzz251z76wvrp4
parent: andrew.bennetts at canonical.com-20071022071957-a2lhya2vptwcmay7
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 17:27:57 +1000
message:
Rename smart request, to avoid confusion with non-chunked version merged into bzr.dev.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
------------------------------------------------------------
revno: 2535.3.55.1.20
revision-id:andrew.bennetts at canonical.com-20071022071957-a2lhya2vptwcmay7
parent: andrew.bennetts at canonical.com-20071022052310-binwm9yszizj2zbl
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 17:19:57 +1000
message:
Remove unused import.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
------------------------------------------------------------
revno: 2535.3.55.1.19
revision-id:andrew.bennetts at canonical.com-20071022052310-binwm9yszizj2zbl
parent: andrew.bennetts at canonical.com-20071022051608-nfu9qeibxb870vlk
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 15:23:10 +1000
message:
Fix some trivial NameErrors in error handling.
modified:
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
------------------------------------------------------------
revno: 2535.3.55.1.18
revision-id:andrew.bennetts at canonical.com-20071022051608-nfu9qeibxb870vlk
parent: andrew.bennetts at canonical.com-20071022050522-iv38fasrs4jvd0tv
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 15:16:08 +1000
message:
Use pack.ContainerSerialiser to remove some nasty cruft.
modified:
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
------------------------------------------------------------
revno: 2535.3.55.1.17
revision-id:andrew.bennetts at canonical.com-20071022050522-iv38fasrs4jvd0tv
parent: andrew.bennetts at canonical.com-20071022045025-s57krf6kiii97bkl
parent: andrew.bennetts at canonical.com-20071022050512-251thgr0i2ntcq3j
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 15:05:22 +1000
message:
Merge from streamable-containers.
modified:
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
------------------------------------------------------------
revno: 2535.3.55.1.16
revision-id:andrew.bennetts at canonical.com-20071022045025-s57krf6kiii97bkl
parent: andrew.bennetts at canonical.com-20071021042202-23woqhipr17i649v
parent: andrew.bennetts at canonical.com-20071022045017-rxuvzs4slk4pbprs
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-10-22 14:50:25 +1000
message:
Merge from streamable-containers.
modified:
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
------------------------------------------------------------
revno: 2535.3.55.1.15
revision-id:andrew.bennetts at canonical.com-20071021042202-23woqhipr17i649v
parent: andrew.bennetts at canonical.com-20071021041918-gyj12mcwe98a5sfw
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Sun 2007-10-21 14:22:02 +1000
message:
Remove 'PackSource' hack by using the ContainerPushParser.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
------------------------------------------------------------
revno: 2535.3.55.1.14
revision-id:andrew.bennetts at canonical.com-20071021041918-gyj12mcwe98a5sfw
parent: andrew.bennetts at canonical.com-20071019070140-82rzucin3qiq4h97
parent: andrew.bennetts at canonical.com-20071019084206-5q81fn1u5rsbnwln
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Sun 2007-10-21 14:19:18 +1000
message:
Merge from streamable-container
modified:
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
bzrlib/tests/test_pack.py test_container.py-20070607160755-tr8zc26q18rn0jnb-2
------------------------------------------------------------
revno: 2535.3.55.1.13
revision-id:andrew.bennetts at canonical.com-20071019070140-82rzucin3qiq4h97
parent: andrew.bennetts at canonical.com-20071019070044-vj4140b3bkal7tfg
parent: andrew.bennetts at canonical.com-20071019053836-wmzae8grd6tni9g0
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-10-19 17:01:40 +1000
message:
Merge from hpss-streaming.
------------------------------------------------------------
revno: 2535.3.55.1.12
revision-id:andrew.bennetts at canonical.com-20071019070044-vj4140b3bkal7tfg
parent: andrew.bennetts at canonical.com-20071005060220-np6y79xm6bjk8dq3
parent: pqm at pqm.ubuntu.com-20071018040514-3hc1k2nj1umg3tig
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-10-19 17:00:44 +1000
message:
Merge bzr.dev.
removed:
bzrlib/transport/http/_pycurl_errors.py _pycurl_errors.py-20060714003436-4zste49ltg697ft9-1
added:
bzrlib/bisect_multi.py bisect_multi.py-20071005104357-0vymd381la7ew4o1-1
bzrlib/tests/repository_implementations/helpers.py helpers.py-20070924032407-m460yl9j5gu5ju85-2
bzrlib/tests/repository_implementations/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
bzrlib/tests/repository_implementations/test_is_write_locked.py test_is_write_locked-20071012063748-vk062lmu683qgbc3-1
bzrlib/tests/test_bisect_multi.py test_bisect_multi.py-20071005104357-0vymd381la7ew4o1-2
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/_dirstate_helpers_c.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
bzrlib/_dirstate_helpers_py.py _dirstate_helpers_py-20070710145033-90nz6cqglsk150jy-1
bzrlib/_knit_load_data_c.pyx knit_c.pyx-20070509143944-u42gy8w387a10m0j-1
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/bundle_data.py read_changeset.py-20050619171944-c0d95aa685537640
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/check.py check.py-20050309040759-f3a679400c06bcc1
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lock.py lock.py-20050527050856-ec090bb51bc03349
bzrlib/lockdir.py lockdir.py-20060220222025-98258adf27fbdda3
bzrlib/mutabletree.py mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/repofmt/weaverepo.py presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revisiontree.py revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
bzrlib/smart/branch.py branch.py-20061124031907-mzh3pla28r83r97f-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/store/__init__.py store.py-20050309040759-164dc5173d6406c2
bzrlib/store/revision/__init__.py __init__.py-20060303014707-305238f06ae20dae
bzrlib/store/revision/knit.py knit.py-20060303020652-de5fa299e941a3c7
bzrlib/store/revision/text.py text.py-20060303020652-e49155f0da4d14ab
bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
bzrlib/tests/per_lock/test_lock.py test_lock.py-20070313190612-mfpoa7t8kvrgrhj2-1
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/test_break_lock.py test_break_lock.py-20060504111704-ee09a107f9f42e43
bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
bzrlib/tests/repository_implementations/test_iter_reverse_revision_history.py test_iter_reverse_re-20070217015036-spu7j5ggch7pbpyd-1
bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_escaped_store.py test_escaped_store.py-20060216023929-6bcb9a067344959f
bzrlib/tests/test_generate_ids.py test_generate_ids.py-20061102205935-z3do15ipw6m7v26u-2
bzrlib/tests/test_index.py test_index.py-20070712131115-lolkarso50vjr64s-2
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_lockdir.py test_lockdir.py-20060220222025-33d4221569a3d600
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_version_info.py test_version_info.py-20051228204928-2c364e30b702b41b
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/test_xml.py test_xml.py-20050905091053-80b45588931a9b35
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/util/configobj/configobj.py configobj.py-20051018184548-06992a2246425e3e
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
bzrlib/xml4.py xml4.py-20050916091259-db5ab55e7e6ca324
bzrlib/xml5.py xml5.py-20050907032657-aac8f960815b66b1
bzrlib/xml6.py xml6.py-20060823042456-dbaaq4atrche7xy5-1
bzrlib/xml_serializer.py xml.py-20050309040759-57d51586fdec365d
doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
doc/index.txt index.txt-20070813101924-07gd9i9d2jt124bf-1
------------------------------------------------------------
revno: 2535.3.55.1.11
revision-id:andrew.bennetts at canonical.com-20071005060220-np6y79xm6bjk8dq3
parent: andrew.bennetts at canonical.com-20071005044536-3l1saf4wctdcu8jr
parent: andrew.bennetts at canonical.com-20071005055245-5f8ldcqxp21zy8v8
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-10-05 16:02:20 +1000
message:
Merge from repo-refactor.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
------------------------------------------------------------
revno: 2535.3.55.1.10
revision-id:andrew.bennetts at canonical.com-20071005044536-3l1saf4wctdcu8jr
parent: andrew.bennetts at canonical.com-20071005034425-a8wowrbgcar60lc4
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-10-05 14:45:36 +1000
message:
Fix one failing test, disable another.
modified:
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
------------------------------------------------------------
revno: 2535.3.55.1.9
revision-id:andrew.bennetts at canonical.com-20071005034425-a8wowrbgcar60lc4
parent: andrew.bennetts at canonical.com-20070903172226-trr3kr82ekw7orlm
parent: pqm at pqm.ubuntu.com-20071004215001-549ul8av89cwpnjp
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-10-05 13:44:25 +1000
message:
Merge from bzr.dev
added:
bzrlib/_patiencediff_c.c _patiencediff_c.c-20070721205602-q3imkipwlgagp3cy-1
bzrlib/benchmarks/bench_pack.py bench_pack.py-20070903042947-0wphp878xr6wkw7t-1
bzrlib/patiencediff.py patiencediff.py-20070721205536-jz8gaykeb7xtampk-1
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
bzrlib/tests/blackbox/test_unknowns.py test_unknowns.py-20070905015344-74tg6s1synijo2oe-1
bzrlib/tests/commands/test_commit.py test_commit.py-20070913161801-ydrx2k5gmv7k7eiu-1
bzrlib/tests/commands/test_update.py test_update.py-20070910091045-8uyp8v73j926l1g2-1
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
bzrlib/tests/tree_implementations/test_path_content_summary.py test_path_content_su-20070904100855-3vrwedz6akn34kl5-1
bzrlib/transport/trace.py trace.py-20070828055009-7kt0bbc4t4b92apz-1
doc/developers/authentication-ring.txt authring.txt-20070718200437-q5tdik0ne6lor86d-1
renamed:
bzrlib/patiencediff.py => bzrlib/_patiencediff_py.py cdvdifflib.py-20051106064558-f8f8097fbf0db4e4
modified:
.bzrignore bzrignore-20050311232317-81f7b71efa2db11a
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/annotate.py annotate.py-20050922133147-7c60541d2614f022
bzrlib/benchmarks/__init__.py __init__.py-20060516064526-eb0d37c78e86065d
bzrlib/benchmarks/tree_creator/kernel_like.py kernel_like.py-20060815024128-b16a7pn542u6b13k-1
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/info.py info.py-20050323235939-6bbfe7d9700b0b9b
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lsprof.py lsprof.py-20051208071030-833790916798ceed
bzrlib/mail_client.py mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
bzrlib/memorytree.py memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/multiparent.py __init__.py-20070410133617-n1jdhcc1n1mibarp-1
bzrlib/mutabletree.py mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/pack.py container.py-20070607160755-tr8zc26q18rn0jnb-1
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/registry.py lazy_factory.py-20060809213415-2gfvqadtvdn0phtg-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/repofmt/weaverepo.py presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revisiontree.py revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
bzrlib/store/revision/knit.py knit.py-20060303020652-de5fa299e941a3c7
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tag.py tag.py-20070212110532-91cw79inah2cfozx-1
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
bzrlib/tests/blackbox/test_command_encoding.py test_command_encoding.py-20060106032110-45431fd2ce9ff21f
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
bzrlib/tests/blackbox/test_conflicts.py test_conflicts.py-20060228151432-9723ebb925b999cf
bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
bzrlib/tests/blackbox/test_ignore.py test_ignore.py-20060703063225-4tm8dc2pa7wwg2t3-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/blackbox/test_missing.py test_missing.py-20051211212735-a2cf4c1840bb84c4
bzrlib/tests/blackbox/test_non_ascii.py test_non_ascii.py-20060105214030-68010be784a5d854
bzrlib/tests/blackbox/test_reconcile.py test_fix.py-20060223013051-9a188e15a5ee9451
bzrlib/tests/blackbox/test_remove.py test_remove.py-20060530011439-fika5rm84lon0goe-1
bzrlib/tests/blackbox/test_revert.py test_revert.py-20060124160917-485ce9de629c182c
bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
bzrlib/tests/blackbox/test_too_much.py blackbox.py-20050620052131-a7370d756399f615
bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_sprout.py test_sprout.py-20070521151739-b8t8p7axw1h966ws-1
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
bzrlib/tests/commands/__init__.py __init__.py-20070520095518-ecfl8531fxgjeycj-1
bzrlib/tests/commands/test_branch.py test_branch.py-20070520173042-ou3a796w3xn1y8ps-1
bzrlib/tests/commands/test_cat.py test_cat.py-20070525170351-vg2apsfb5j413913-1
bzrlib/tests/commands/test_checkout.py test_checkout.py-20070525151718-vm7ligd5px5dtmda-1
bzrlib/tests/commands/test_init.py test_init.py-20070514074921-audbcdd8o56dpame-1
bzrlib/tests/commands/test_init_repository.py test_init_repository-20070525163812-87xw0678ky573l27-1
bzrlib/tests/commands/test_merge.py test_merge.py-20070525163813-v8yfs5wu77hjsx0o-1
bzrlib/tests/commands/test_missing.py test_missing.py-20070525171057-qr1z4sleurlp9b5v-1
bzrlib/tests/commands/test_pull.py test_pull.py-20070525144918-cgmunk4ici2krjnd-1
bzrlib/tests/commands/test_push.py test_push.py-20070525122003-gc1ob0ea0nueoqgj-1
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
bzrlib/tests/interversionedfile_implementations/test_join.py test_join.py-20060302012326-9b5e9b0f0a03fedc
bzrlib/tests/inventory_implementations/basics.py basics.py-20070903044446-kdjwbiu1p1zi9phs-1
bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_bundle.py test.py-20050630184834-092aa401ab9f039c
bzrlib/tests/test_bzrdir.py test_bzrdir.py-20060131065654-deba40eef51cf220
bzrlib/tests/test_commit.py test_commit.py-20050914060732-279f057f8c295434
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_diff.py testdiff.py-20050727164403-d1a3496ebb12e339
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_ftp_transport.py test_aftp_transport.-20060823221619-98mwjzxtwtkt527k-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_info.py test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_lsprof.py test_lsprof.py-20070606095601-bctdndm8yhc0cqnc-1
bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
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_revert.py test_revert.py-20060828180832-fqb1v6ecpyvnlitj-1
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_symbol_versioning.py test_symbol_versioning.py-20060105104851-51d7722c2018d42b
bzrlib/tests/test_tag.py test_tag.py-20070212110532-91cw79inah2cfozx-2
bzrlib/tests/test_trace.py testtrace.py-20051110225523-a21117fc7a07eeff
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/test_weave.py testknit.py-20050627023648-9833cc5562ffb785
bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
bzrlib/tests/test_xml.py test_xml.py-20050905091053-80b45588931a9b35
bzrlib/tests/transport_util.py transportutil.py-20070525113600-5v2igk89s8fensom-1
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
bzrlib/tests/workingtree_implementations/test_executable.py test_executable.py-20060628162557-tr7h57kl80l3ma8i-1
bzrlib/tests/workingtree_implementations/test_inv.py test_inv.py-20070311221604-ighlq8tbn5xq0kuo-1
bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
bzrlib/tests/workingtree_implementations/test_rename_one.py test_rename_one.py-20070226161242-2d8ibdedl700jgio-1
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transport/__init__.py transport.py-20050711165921-4978aa7ce1285ad5
bzrlib/transport/decorator.py decorator.py-20060402223305-e913a0f25319ab42
bzrlib/transport/fakevfat.py fakevfat.py-20060407072414-d59939fa1d6c79d9
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/local.py local_transport.py-20050711165921-9b1f142bfe480c24
bzrlib/transport/memory.py memory.py-20051016101338-cd008dbdf69f04fc
bzrlib/transport/remote.py ssh.py-20060608202016-c25gvf1ob7ypbus6-1
bzrlib/transport/sftp.py sftp.py-20051019050329-ab48ce71b7e32dfe
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/tuned_gzip.py tuned_gzip.py-20060407014720-5aadc518e928e8d2
bzrlib/version.py version.py-20060816024207-ves6ult9a11taj9t-1
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
bzrlib/xml4.py xml4.py-20050916091259-db5ab55e7e6ca324
bzrlib/xml5.py xml5.py-20050907032657-aac8f960815b66b1
bzrlib/xml6.py xml6.py-20060823042456-dbaaq4atrche7xy5-1
bzrlib/xml_serializer.py xml.py-20050309040759-57d51586fdec365d
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
bzrlib/_patiencediff_py.py cdvdifflib.py-20051106064558-f8f8097fbf0db4e4
------------------------------------------------------------
revno: 2535.3.55.1.8
revision-id:andrew.bennetts at canonical.com-20070903172226-trr3kr82ekw7orlm
parent: andrew.bennetts at canonical.com-20070903163655-f5hz05afk5elbubh
parent: andrew.bennetts at canonical.com-20070903171210-5wjqh4lq24wn9qfp
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Tue 2007-09-04 03:22:26 +1000
message:
Merge from hpss-streaming.
modified:
doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-1
------------------------------------------------------------
revno: 2535.3.55.1.7
revision-id:andrew.bennetts at canonical.com-20070903163655-f5hz05afk5elbubh
parent: andrew.bennetts at canonical.com-20070903163550-6sv1yn0s2u76gxcf
parent: andrew.bennetts at canonical.com-20070903162931-ue17vnsxg3wg6je1
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Tue 2007-09-04 02:36:55 +1000
message:
Merge from hpss-streaming.
------------------------------------------------------------
revno: 2535.3.55.1.6
revision-id:andrew.bennetts at canonical.com-20070903163550-6sv1yn0s2u76gxcf
parent: andrew.bennetts at canonical.com-20070903082851-455x36f4t03l4lvs
parent: andrew.bennetts at canonical.com-20070903163442-ytmz1xw42rdhuihi
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Tue 2007-09-04 02:35:50 +1000
message:
Merge from repo-refactor.
added:
doc/developers/missing.txt missing.txt-20070718093412-eqjvfwo0oacov5sn-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/dirstate.py dirstate.py-20060728012006-d6mvoihjb3je9peu-1
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/option.py option.py-20051014052914-661fb36e76e7362f
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_ignore.py test_ignore.py-20060703063225-4tm8dc2pa7wwg2t3-1
bzrlib/tests/blackbox/test_locale.py test_lang.py-20060824204205-80v50j25qkuop7yn-1
bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
bzrlib/tests/blackbox/test_remove.py test_remove.py-20060530011439-fika5rm84lon0goe-1
bzrlib/tests/branch_implementations/test_commit.py test_commit.py-20070206022134-117z1i5b644p63r0-1
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_dirstate.py test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
bzrlib/tests/test_help.py test_help.py-20070419045354-6q6rq15j9e2n5fna-1
bzrlib/tests/test_options.py testoptions.py-20051014093702-96457cfc86319a8f
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_trace.py testtrace.py-20051110225523-a21117fc7a07eeff
bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
bzrlib/tests/workingtree_implementations/test_remove.py test_remove.py-20070413183901-rvnp85rtc0q0sclp-1
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
doc/developers/performance.dot performance.dot-20070527173558-rqaqxn1al7vzgcto-3
doc/en/user-reference/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
------------------------------------------------------------
revno: 2535.3.55.1.5
revision-id:andrew.bennetts at canonical.com-20070903082851-455x36f4t03l4lvs
parent: andrew.bennetts at canonical.com-20070903073624-9tagkpz8mhlgpow2
parent: andrew.bennetts at canonical.com-20070903075354-vwed9crts63i6oo0
parent: andrew.bennetts at canonical.com-20070903080606-zdcjdzyefv5cjtcc
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-09-03 18:28:51 +1000
message:
Merge latest chunking protocol, including support for errors, fixing a test failure.
added:
doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-1
modified:
bzrlib/smart/__init__.py __init__.py-20061101100249-8jwwl0d3jr080zim-1
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
------------------------------------------------------------
revno: 2781.2.1
revision-id:andrew.bennetts at canonical.com-20070903080606-zdcjdzyefv5cjtcc
parent: pqm at pqm.ubuntu.com-20070903062644-0rt7302gl1to109v
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: repr-fix
timestamp: Mon 2007-09-03 18:06:06 +1000
message:
Fix SmartServerResponse.__repr__.
modified:
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 2535.3.55.1.4
revision-id:andrew.bennetts at canonical.com-20070903073624-9tagkpz8mhlgpow2
parent: andrew.bennetts at canonical.com-20070830153250-4gg2e2zkyfzszrnp
parent: andrew.bennetts at canonical.com-20070903073557-g7m06f35fs9bz403
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Mon 2007-09-03 17:36:24 +1000
message:
Merge from repo-refactor.
added:
bzrlib/tests/inventory_implementations/ bzrlibtestsinventory-20070820060653-4mjbbmwhp74dsf3x-1
bzrlib/tests/inventory_implementations/__init__.py __init__.py-20070821044532-olbadbokgv3qv1yd-1
bzrlib/tests/inventory_implementations/basics.py basics.py-20070903044446-kdjwbiu1p1zi9phs-1
doc/en/user-guide/hooks.txt hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
doc/en/user-reference/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
doc/en/user-reference/index.txt index.txt-20070830033353-ud9e03xsh24053oo-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/annotate.py annotate.py-20050922133147-7c60541d2614f022
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/memorytree.py memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
bzrlib/msgeditor.py msgeditor.py-20050901111708-ef6d8de98f5d8f2f
bzrlib/option.py option.py-20051014052914-661fb36e76e7362f
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/revisiontree.py revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
bzrlib/tests/blackbox/test_nick.py test_nick.py-20061105141046-p7zovcsit44uj4w9-1
bzrlib/tests/blackbox/test_pull.py test_pull.py-20051201144907-64959364f629947f
bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
bzrlib/tests/test_annotate.py test_annotate.py-20061213215015-sttc9agsxomls7q0-1
bzrlib/tests/test_inv.py testinv.py-20050722220913-1dc326138d1a5892
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_options.py testoptions.py-20051014093702-96457cfc86319a8f
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
bzrlib/transport/ssh.py ssh.py-20060824042150-0s9787kng6zv1nwq-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
doc/developers/update.txt update.txt-20070713074325-vtxf9eb5c6keg30j-1
doc/en/user-guide/index.txt index.txt-20060622101119-tgwtdci8z769bjb9-2
doc/en/user-guide/server.txt server.txt-20060913044801-h939fvbwzz39gf7g-1
doc/en/user-guide/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
------------------------------------------------------------
revno: 2535.3.55.1.3
revision-id:andrew.bennetts at canonical.com-20070830153250-4gg2e2zkyfzszrnp
parent: andrew.bennetts at canonical.com-20070830145651-6r0rwb6ga20803q5
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-08-31 01:32:50 +1000
message:
Remove some useless mutters.
modified:
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
------------------------------------------------------------
revno: 2535.3.55.1.2
revision-id:andrew.bennetts at canonical.com-20070830145651-6r0rwb6ga20803q5
parent: andrew.bennetts at canonical.com-20070830142458-as28m7ho1sd4yeko
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-08-31 00:56:51 +1000
message:
Nasty hackery to make stream_knit_data_for_revisions response use streaming.
modified:
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
------------------------------------------------------------
revno: 2535.3.55.1.1
revision-id:andrew.bennetts at canonical.com-20070830142458-as28m7ho1sd4yeko
parent: andrew.bennetts at canonical.com-20070830083234-dh4woface2wv88mw
parent: andrew.bennetts at canonical.com-20070830113212-j6zhw555ma5x21yi
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: streaming-smart-fetch
timestamp: Fri 2007-08-31 00:24:58 +1000
message:
Merge from hpss-streaming.
modified:
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 3172.1.1
revision-id:pqm at pqm.ubuntu.com-20080111025153-mqrn9i5o3hqezw75
parent: pqm at pqm.ubuntu.com-20080110025628-6tl4b9cmdn335suw
parent: robertc at robertcollins.net-20080111004417-yqxhy4jdu526uslq
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-01-11 02:51:53 +0000
message:
(robertc) Provide a fuller deprecation of Graph.get_parents for
ParentProvider implementors. (Robert Collins)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3172.2.2
revision-id:robertc at robertcollins.net-20080111004417-yqxhy4jdu526uslq
parent: robertc at robertcollins.net-20080110220839-ze9uhnjp04h7y9mp
committer: Robert Collins <robertc at robertcollins.net>
branch nick: get_parents.deprecation
timestamp: Fri 2008-01-11 11:44:17 +1100
message:
Parent Providers should now implement ``get_parent_map`` returning a
dictionary instead of ``get_parents`` returning a list.
``get_parents`` is now considered deprecated. (John Arbash Meinel)
``Graph.get_parents`` is now deprecated. (John Arbash Meinel,
Robert Collins)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3172.2.1
revision-id:robertc at robertcollins.net-20080110220839-ze9uhnjp04h7y9mp
parent: pqm at pqm.ubuntu.com-20080110025628-6tl4b9cmdn335suw
committer: Robert Collins <robertc at robertcollins.net>
branch nick: remote.graph
timestamp: Fri 2008-01-11 09:08:39 +1100
message:
``Graph`` no longer requires the ``parents_provider`` to have a
``get_parents`` attribute. (Robert Collins)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
=== modified file 'NEWS'
--- a/NEWS 2008-01-11 04:33:02 +0000
+++ b/NEWS 2008-01-14 00:06:13 +0000
@@ -22,6 +22,11 @@
* New option to use custom template-based formats in ``bzr version-info``.
(Lukáš Lalinský)
+ * New smart method, ``Repository.stream_revisions_chunked``, for fetching
+ revision data that streams revision data via a chunked encoding. This
+ avoids buffering large amounts of revision data on the server and on the
+ client. (Andrew Bennetts, #178353)
+
* diff '--using' allows an external diff tool to be used for files.
(Aaron Bentley)
@@ -49,6 +54,9 @@
at the start of the file, promoting linear reads for ``bzr log`` and the
like. This partially fixes #154129. (Robert Collins)
+ * Fetching between different repository formats with compatible models now
+ takes advantage of the smart method to stream revisions. (Andrew Bennetts)
+
* Merge directives now fetch prerequisites from the target branch if
needed. (Aaron Bentley)
@@ -111,6 +119,9 @@
* ``reconfigure`` is able to convert trees into lightweight checkouts.
(Aaron Bentley)
+ * ``reconfigure`` can safely be interrupted while fetching.
+ (Aaron Bentley, #179316)
+
* Reduce lockdir timeout to 0 when running ``bzr serve``. (Andrew Bennetts,
#148087)
@@ -164,9 +175,15 @@
inventories. This is primarily used by the ``revision_trees`` method, as
direct access to inventories is discouraged. (Robert Collins)
+ * New method ``next_with_ghosts`` on the Graph breadth-first-search objects
+ which will split out ghosts and present parents into two separate sets,
+ useful for code which needs to be aware of ghosts (e.g. fetching data
+ cares about ghosts during revision selection). (Robert Collins)
+
* Parent Providers should now implement ``get_parent_map`` returning a
dictionary instead of ``get_parents`` returning a list.
- ``get_parents`` is now considered deprecated. (John Arbash Meinel)
+ ``Graph.get_parents`` is now deprecated. (John Arbash Meinel,
+ Robert Collins)
* Patience Diff now supports arbitrary python objects, as long as they
support ``hash()``. (John Arbash Meinel)
=== modified file 'bzrlib/debug.py'
--- a/bzrlib/debug.py 2008-01-09 07:04:23 +0000
+++ b/bzrlib/debug.py 2008-01-11 04:55:53 +0000
@@ -34,6 +34,7 @@
* hpss - trace smart protocol requests and responses
* http - trace http connections, requests and responses
* index - trace major index operations
+ * knit - trace knit operations
* lock - trace when lockdir locks are taken or released
* merge - emit information for debugging merges
* times - record timestamps from program start in trace file
=== modified file 'bzrlib/graph.py'
--- a/bzrlib/graph.py 2007-12-18 19:42:10 +0000
+++ b/bzrlib/graph.py 2008-01-13 23:57:17 +0000
@@ -46,6 +46,7 @@
class DictParentsProvider(object):
+ """A parents provider for Graph objects."""
def __init__(self, ancestry):
self.ancestry = ancestry
@@ -53,10 +54,6 @@
def __repr__(self):
return 'DictParentsProvider(%r)' % self.ancestry
- @symbol_versioning.deprecated_method(symbol_versioning.one_one)
- def get_parents(self, revisions):
- return [self.ancestry.get(r, None) for r in revisions]
-
def get_parent_map(self, keys):
"""See _StackedParentsProvider.get_parent_map"""
ancestry = self.ancestry
@@ -71,22 +68,6 @@
def __repr__(self):
return "_StackedParentsProvider(%r)" % self._parent_providers
- @symbol_versioning.deprecated_method(symbol_versioning.one_one)
- def get_parents(self, revision_ids):
- """Find revision ids of the parents of a list of revisions
-
- A list is returned of the same length as the input. Each entry
- is a list of parent ids for the corresponding input revision.
-
- [NULL_REVISION] is used as the parent of the first user-committed
- revision. Its parent list is empty.
-
- If the revision is not present (i.e. a ghost), None is used in place
- of the list of parents.
- """
- found = self.get_parent_map(revision_ids)
- return [found.get(r, None) for r in revision_ids]
-
def get_parent_map(self, keys):
"""Get a mapping of keys => parents
@@ -125,12 +106,6 @@
def __repr__(self):
return "%s(%r)" % (self.__class__.__name__, self._real_provider)
- @symbol_versioning.deprecated_method(symbol_versioning.one_one)
- def get_parents(self, revision_ids):
- """See _StackedParentsProvider.get_parents"""
- found = self.get_parent_map(revision_ids)
- return [found.get(r, None) for r in revision_ids]
-
def get_parent_map(self, keys):
"""See _StackedParentsProvider.get_parent_map"""
needed = set()
@@ -168,13 +143,16 @@
This should not normally be invoked directly, because there may be
specialized implementations for particular repository types. See
- Repository.get_graph()
+ Repository.get_graph().
- :param parents_provider: An object providing a get_parents call
- conforming to the behavior of StackedParentsProvider.get_parents
+ :param parents_provider: An object providing a get_parent_map call
+ conforming to the behavior of
+ StackedParentsProvider.get_parent_map.
"""
- self.get_parents = parents_provider.get_parents
- self.get_parent_map = parents_provider.get_parent_map
+ if getattr(parents_provider, 'get_parents', None) is not None:
+ self.get_parents = parents_provider.get_parents
+ if getattr(parents_provider, 'get_parent_map', None) is not None:
+ self.get_parent_map = parents_provider.get_parent_map
self._parents_provider = parents_provider
def __repr__(self):
@@ -226,6 +204,36 @@
return (left.difference(right).difference(common),
right.difference(left).difference(common))
+ @symbol_versioning.deprecated_method(symbol_versioning.one_one)
+ def get_parents(self, revisions):
+ """Find revision ids of the parents of a list of revisions
+
+ A list is returned of the same length as the input. Each entry
+ is a list of parent ids for the corresponding input revision.
+
+ [NULL_REVISION] is used as the parent of the first user-committed
+ revision. Its parent list is empty.
+
+ If the revision is not present (i.e. a ghost), None is used in place
+ of the list of parents.
+
+ Deprecated in bzr 1.2 - please see get_parent_map.
+ """
+ parents = self.get_parent_map(revisions)
+ return [parent.get(r, None) for r in revisions]
+
+ def get_parent_map(self, revisions):
+ """Get a map of key:parent_list for revisions.
+
+ This implementation delegates to get_parents, for old parent_providers
+ that do not supply get_parent_map.
+ """
+ result = {}
+ for rev, parents in self.get_parents(revisions):
+ if parents is not None:
+ result[rev] = parents
+ return result
+
def _make_breadth_first_searcher(self, revisions):
return _BreadthFirstSearcher(revisions, self)
@@ -498,39 +506,83 @@
"""
def __init__(self, revisions, parents_provider):
- self._start = set(revisions)
- self._search_revisions = None
- self.seen = set(revisions)
+ self._iterations = 0
+ self._next_query = set(revisions)
+ self.seen = set()
self._parents_provider = parents_provider
+ self._returning = 'checked'
def __repr__(self):
- if self._search_revisions is not None:
- search = 'searching=%r' % (list(self._search_revisions),)
+ if self._iterations:
+ prefix = "searching"
else:
- search = 'starting=%r' % (list(self._start),)
- return ('_BreadthFirstSearcher(%s,'
- ' seen=%r)' % (search, list(self.seen)))
+ prefix = "starting"
+ search = '%s=%r' % (prefix, list(self._next_query))
+ return ('_BreadthFirstSearcher(iterations=%d, %s,'
+ ' seen=%r)' % (self._iterations, search, list(self.seen)))
def next(self):
"""Return the next ancestors of this revision.
Ancestors are returned in the order they are seen in a breadth-first
- traversal. No ancestor will be returned more than once.
+ traversal. No ancestor will be returned more than once. Ancestors are
+ returned before their parentage is queried, so ghosts and missing
+ revisions (including the start revisions) are included in the result.
+ This can save a round trip in LCA style calculation by allowing
+ convergence to be detected without reading the data for the revision
+ the convergence occurs on.
+
+ :return: A set of revision_ids.
"""
- if self._search_revisions is None:
- self._search_revisions = self._start
+ if self._returning != 'query':
+ # switch to returning the query, not the results.
+ self._returning = 'query'
+ self._iterations += 1
+ self.seen.update(self._next_query)
else:
- new_search_revisions = set()
- parent_map = self._parents_provider.get_parent_map(
- self._search_revisions)
- for parents in parent_map.itervalues():
- new_search_revisions.update(p for p in parents if
- p not in self.seen)
- self._search_revisions = new_search_revisions
- if len(self._search_revisions) == 0:
- raise StopIteration()
- self.seen.update(self._search_revisions)
- return self._search_revisions
+ self._advance()
+ if len(self._next_query) == 0:
+ raise StopIteration()
+ return self._next_query
+
+ def next_with_ghosts(self):
+ """Return the next found ancestors, with ghosts split out.
+
+ Ancestors are returned in the order they are seen in a breadth-first
+ traversal. No ancestor will be returned more than once. Ancestors are
+ returned only after asking for their parents, which can
+
+ :return: A tuple with (present ancestors, ghost ancestors) sets.
+ """
+ if self._returning != 'checked':
+ # switch to returning the results, not the current query.
+ self._returning = 'checked'
+ self._advance()
+ if len(self._next_query) == 0:
+ raise StopIteration()
+ self._advance()
+ return self._current_present, self._current_ghosts
+
+ def _advance(self):
+ """Advance the search.
+
+ Updates self.seen, self._next_query, self._current_present,
+ self._current_ghosts.
+ """
+ self._iterations += 1
+ found_parents = set()
+ new_search_revisions = set()
+ parent_map = self._parents_provider.get_parent_map(
+ self._next_query)
+ for rev_id, parents in parent_map.iteritems():
+ found_parents.add(rev_id)
+ new_search_revisions.update(p for p in parents if
+ p not in self.seen)
+ ghost_parents = self._next_query - found_parents
+ self._next_query = new_search_revisions
+ self.seen.update(self._next_query)
+ self._current_present = found_parents
+ self._current_ghosts = ghost_parents
def __iter__(self):
return self
@@ -554,13 +606,10 @@
None of the specified revisions are required to be present in the
search list. In this case, the call is a no-op.
"""
- stopped = self._search_revisions.intersection(revisions)
- self._search_revisions = self._search_revisions.difference(revisions)
+ stopped = self._next_query.intersection(revisions)
+ self._next_query = self._next_query.difference(revisions)
return stopped
def start_searching(self, revisions):
- if self._search_revisions is None:
- self._start = set(revisions)
- else:
- self._search_revisions.update(revisions.difference(self.seen))
+ self._next_query.update(revisions.difference(self.seen))
self.seen.update(revisions)
=== modified file 'bzrlib/help_topics/__init__.py'
--- a/bzrlib/help_topics/__init__.py 2008-01-09 07:04:23 +0000
+++ b/bzrlib/help_topics/__init__.py 2008-01-11 04:55:53 +0000
@@ -287,6 +287,7 @@
-Dhpss Trace smart protocol requests and responses.
-Dhttp Trace http connections, requests and responses
-Dindex Trace major index operations.
+-Dknit Trace knit operations.
-Dlock Trace when lockdir locks are taken or released.
-Dmerge Emit information for debugging merges.
-Dtimes Record timestamps from program start in trace file.
=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py 2007-11-30 07:45:56 +0000
+++ b/bzrlib/knit.py 2008-01-11 07:06:36 +0000
@@ -736,7 +736,9 @@
:seealso: get_data_stream
"""
if format != self.get_format_signature():
- trace.mutter('incompatible format signature inserting to %r', self)
+ if 'knit' in debug.debug_flags:
+ trace.mutter(
+ 'incompatible format signature inserting to %r', self)
source = self._knit_from_datastream(
(format, data_list, reader_callable))
self.join(source)
=== modified file 'bzrlib/reconfigure.py'
--- a/bzrlib/reconfigure.py 2007-12-13 16:38:54 +0000
+++ b/bzrlib/reconfigure.py 2008-01-11 17:59:20 +0000
@@ -216,6 +216,11 @@
if self._create_branch and self.referenced_branch is not None:
repo.fetch(self.referenced_branch.repository,
self.referenced_branch.last_revision())
+ if self._create_reference:
+ reference_branch = branch.Branch.open(self._select_bind_location())
+ if self._destroy_repository:
+ if self._create_reference:
+ reference_branch.repository.fetch(self.repository)
last_revision_info = None
if self._destroy_reference:
last_revision_info = self.referenced_branch.last_revision_info()
@@ -230,7 +235,6 @@
else:
local_branch = self.local_branch
if self._create_reference:
- reference_branch = branch.Branch.open(self._select_bind_location())
format = branch.BranchReferenceFormat().initialize(self.bzrdir,
reference_branch)
if self._destroy_tree:
@@ -243,6 +247,4 @@
bind_location = self._select_bind_location()
local_branch.bind(branch.Branch.open(bind_location))
if self._destroy_repository:
- if self._create_reference:
- reference_branch.repository.fetch(self.repository)
self.bzrdir.destroy_repository()
=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py 2008-01-11 03:54:51 +0000
+++ b/bzrlib/remote.py 2008-01-11 05:28:46 +0000
@@ -26,13 +26,13 @@
repository,
revision,
)
-from bzrlib.branch import Branch, BranchReferenceFormat
+from bzrlib.branch import BranchReferenceFormat
from bzrlib.bzrdir import BzrDir, RemoteBzrDirFormat
from bzrlib.config import BranchConfig, TreeConfig
from bzrlib.decorators import needs_read_lock, needs_write_lock
from bzrlib.errors import NoSuchRevision
from bzrlib.lockable_files import LockableFiles
-from bzrlib.pack import ContainerReader
+from bzrlib.pack import ContainerPushParser
from bzrlib.smart import client, vfs
from bzrlib.symbol_versioning import (
deprecated_method,
@@ -790,7 +790,6 @@
from bzrlib import osutils
import tarfile
import tempfile
- from StringIO import StringIO
# TODO: Maybe a progress bar while streaming the tarball?
note("Copying repository content as tarball...")
tar_file = self._get_tarball('bz2')
@@ -863,15 +862,17 @@
return self._real_repository.has_signature_for_revision_id(revision_id)
def get_data_stream(self, revision_ids):
+ REQUEST_NAME = 'Repository.stream_revisions_chunked'
path = self.bzrdir._path_for_remote_call(self._client)
response, protocol = self._client.call_expecting_body(
- 'Repository.stream_knit_data_for_revisions', path, *revision_ids)
+ REQUEST_NAME, path, *revision_ids)
+
if response == ('ok',):
return self._deserialise_stream(protocol)
elif (response == ('error', "Generic bzr smart protocol error: "
- "bad request 'Repository.stream_knit_data_for_revisions'") or
+ "bad request '%s'" % REQUEST_NAME) or
response == ('error', "Generic bzr smart protocol error: "
- "bad request u'Repository.stream_knit_data_for_revisions'")):
+ "bad request u'%s'" % REQUEST_NAME)):
protocol.cancel_read_body()
self._ensure_real()
return self._real_repository.get_data_stream(revision_ids)
@@ -879,18 +880,20 @@
raise errors.UnexpectedSmartServerResponse(response)
def _deserialise_stream(self, protocol):
- buffer = StringIO(protocol.read_body_bytes())
- reader = ContainerReader(buffer)
- for record_names, read_bytes in reader.iter_records():
- try:
- # These records should have only one name, and that name
- # should be a one-element tuple.
- [name_tuple] = record_names
- except ValueError:
- raise errors.SmartProtocolError(
- 'Repository data stream had invalid record name %r'
- % (record_names,))
- yield name_tuple, read_bytes(None)
+ stream = protocol.read_streamed_body()
+ container_parser = ContainerPushParser()
+ for bytes in stream:
+ container_parser.accept_bytes(bytes)
+ records = container_parser.read_pending_records()
+ for record_names, record_bytes in records:
+ if len(record_names) != 1:
+ # These records should have only one name, and that name
+ # should be a one-element tuple.
+ raise errors.SmartProtocolError(
+ 'Repository data stream had invalid record name %r'
+ % (record_names,))
+ name_tuple = record_names[0]
+ yield name_tuple, record_bytes
def insert_data_stream(self, stream):
self._ensure_real()
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2008-01-11 04:33:02 +0000
+++ b/bzrlib/repository.py 2008-01-14 00:06:13 +0000
@@ -842,8 +842,14 @@
for version, options, parents, some_bytes in decoded_list:
data_list.append((version, options, len(some_bytes), parents))
knit_bytes += some_bytes
+ buffer = StringIO(knit_bytes)
+ def reader_func(count):
+ if count is None:
+ return buffer.read()
+ else:
+ return buffer.read(count)
knit.insert_data_stream(
- (format, data_list, StringIO(knit_bytes).read))
+ (format, data_list, reader_func))
@needs_read_lock
def missing_revision_ids(self, other, revision_id=None, find_ghosts=True):
@@ -2851,14 +2857,12 @@
def is_compatible(source, target):
if not isinstance(source, remote.RemoteRepository):
return False
+ # Is source's model compatible with target's model?
source._ensure_real()
real_source = source._real_repository
- # Is source's model compatible with target's model, and are they the
- # same format? Currently we can only optimise fetching from an
- # identical model & format repo.
assert not isinstance(real_source, remote.RemoteRepository), (
"We don't support remote repos backed by remote repos yet.")
- return real_source._format == target._format
+ return InterRepository._same_model(real_source, target)
@needs_write_lock
def fetch(self, revision_id=None, pb=None, find_ghosts=False):
=== modified file 'bzrlib/smart/client.py'
--- a/bzrlib/smart/client.py 2007-08-06 05:11:55 +0000
+++ b/bzrlib/smart/client.py 2007-08-30 14:56:51 +0000
@@ -43,7 +43,7 @@
body = smart_protocol.read_body_bytes()
"""
request = self.get_smart_medium().get_request()
- smart_protocol = protocol.SmartClientRequestProtocolOne(request)
+ smart_protocol = protocol.SmartClientRequestProtocolTwo(request)
smart_protocol.call(method, *args)
return smart_protocol.read_response_tuple(expect_body=True), smart_protocol
=== modified file 'bzrlib/smart/repository.py'
--- a/bzrlib/smart/repository.py 2007-11-26 02:08:13 +0000
+++ b/bzrlib/smart/repository.py 2008-01-02 08:09:32 +0000
@@ -24,7 +24,7 @@
from bzrlib import errors
from bzrlib.bzrdir import BzrDir
-from bzrlib.pack import ContainerWriter
+from bzrlib.pack import ContainerSerialiser
from bzrlib.smart.request import (
FailedSmartServerResponse,
SmartServerRequest,
@@ -258,14 +258,38 @@
def _do_repository_request(self, repository, revision_ids):
stream = repository.get_data_stream(revision_ids)
- filelike = StringIO()
- pack = ContainerWriter(filelike.write)
- pack.begin()
+ buffer = StringIO()
+ pack = ContainerSerialiser()
+ buffer.write(pack.begin())
try:
for name_tuple, bytes in stream:
- pack.add_bytes_record(bytes, [name_tuple])
+ buffer.write(pack.bytes_record(bytes, [name_tuple]))
except errors.RevisionNotPresent, e:
return FailedSmartServerResponse(('NoSuchRevision', e.revision_id))
+ buffer.write(pack.end())
+ return SuccessfulSmartServerResponse(('ok',), buffer.getvalue())
+
+
+class SmartServerRepositoryStreamRevisionsChunked(SmartServerRepositoryRequest):
+
+ def do_repository_request(self, repository, *revision_ids):
+ repository.lock_read()
+ try:
+ stream = repository.get_data_stream(revision_ids)
+ except Exception:
+ repository.unlock()
+ raise
+ return SuccessfulSmartServerResponse(('ok',),
+ body_stream=self.body_stream(stream, repository))
+
+ def body_stream(self, stream, repository):
+ pack = ContainerSerialiser()
+ yield pack.begin()
+ try:
+ for name_tuple, bytes in stream:
+ yield pack.bytes_record(bytes, [name_tuple])
+ except errors.RevisionNotPresent, e:
+ yield FailedSmartServerResponse(('NoSuchRevision', e.revision_id))
+ repository.unlock()
pack.end()
- return SuccessfulSmartServerResponse(('ok',), filelike.getvalue())
=== modified file 'bzrlib/smart/request.py'
--- a/bzrlib/smart/request.py 2007-10-19 05:38:36 +0000
+++ b/bzrlib/smart/request.py 2008-01-02 07:58:37 +0000
@@ -106,8 +106,8 @@
other.body_stream is self.body_stream)
def __repr__(self):
- return "<SmartServerResponse %r args=%r body=%r>" % (
- self.is_successful(), self.args, self.body)
+ return ("<SmartServerResponse successful=%s args=%r body=%r>"
+ % (self.is_successful(), self.args, self.body))
class FailedSmartServerResponse(SmartServerResponse):
@@ -319,7 +319,16 @@
'bzrlib.smart.repository',
'SmartServerRepositoryGatherStats')
request_handlers.register_lazy(
- 'Repository.stream_knit_data_for_revisions', 'bzrlib.smart.repository',
+ 'Repository.stream_knit_data_for_revisions',
+ 'bzrlib.smart.repository',
+ 'SmartServerRepositoryStreamKnitDataForRevisions')
+request_handlers.register_lazy(
+ 'Repository.stream_revisions_chunked',
+ 'bzrlib.smart.repository',
+ 'SmartServerRepositoryStreamRevisionsChunked')
+request_handlers.register_lazy(
+ 'Repository.chunked_stream_knit_data_for_revisions',
+ 'bzrlib.smart.repository',
'SmartServerRepositoryStreamKnitDataForRevisions')
request_handlers.register_lazy(
'Repository.get_revision_graph', 'bzrlib.smart.repository', 'SmartServerRepositoryGetRevisionGraph')
=== modified file 'bzrlib/tests/test_graph.py'
--- a/bzrlib/tests/test_graph.py 2007-12-18 19:42:10 +0000
+++ b/bzrlib/tests/test_graph.py 2008-01-13 23:57:17 +0000
@@ -244,10 +244,6 @@
self.calls = []
self._real_parents_provider = parents_provider
- def get_parents(self, nodes):
- self.calls.extend(nodes)
- return self._real_parents_provider.get_parents(nodes)
-
def get_parent_map(self, nodes):
self.calls.extend(nodes)
return self._real_parents_provider.get_parent_map(nodes)
@@ -450,23 +446,6 @@
self.assertEqual((set(['e']), set(['f', 'g'])),
graph.find_difference('e', 'f'))
- def test_stacked_parents_provider_get_parents(self):
- parents1 = _mod_graph.DictParentsProvider({'rev2': ['rev3']})
- parents2 = _mod_graph.DictParentsProvider({'rev1': ['rev4']})
- stacked = _mod_graph._StackedParentsProvider([parents1, parents2])
- self.assertEqual([['rev4',], ['rev3']],
- self.applyDeprecated(symbol_versioning.one_one,
- stacked.get_parents, ['rev1', 'rev2']))
- self.assertEqual([['rev3',], ['rev4']],
- self.applyDeprecated(symbol_versioning.one_one,
- stacked.get_parents, ['rev2', 'rev1']))
- self.assertEqual([['rev3',], ['rev3']],
- self.applyDeprecated(symbol_versioning.one_one,
- stacked.get_parents, ['rev2', 'rev2']))
- self.assertEqual([['rev4',], ['rev4']],
- self.applyDeprecated(symbol_versioning.one_one,
- stacked.get_parents, ['rev1', 'rev1']))
-
def test_stacked_parents_provider(self):
parents1 = _mod_graph.DictParentsProvider({'rev2': ['rev3']})
parents2 = _mod_graph.DictParentsProvider({'rev1': ['rev4']})
@@ -626,13 +605,6 @@
"""
class stub(object):
pass
- def get_parents(keys):
- result = []
- for key in keys:
- if key == 'deeper':
- self.fail('key deeper was accessed')
- result.append(graph_dict[key])
- return result
def get_parent_map(keys):
result = {}
for key in keys:
@@ -641,7 +613,6 @@
result[key] = graph_dict[key]
return result
an_obj = stub()
- an_obj.get_parents = get_parents
an_obj.get_parent_map = get_parent_map
graph = _mod_graph.Graph(an_obj)
return graph.heads(search)
@@ -681,6 +652,70 @@
self.assertEqual(set(['h1', 'h2']),
self._run_heads_break_deeper(graph_dict, ['h1', 'h2']))
+ def test_breadth_first_search_start_ghosts(self):
+ parent_graph = {}
+ parents_provider = InstrumentedParentsProvider(
+ _mod_graph.DictParentsProvider(parent_graph))
+ graph = _mod_graph.Graph(parents_provider)
+ # with_ghosts reports the ghosts
+ search = graph._make_breadth_first_searcher(['a-ghost'])
+ self.assertEqual((set(), set(['a-ghost'])), search.next_with_ghosts())
+ self.assertRaises(StopIteration, search.next_with_ghosts)
+ # next includes them
+ search = graph._make_breadth_first_searcher(['a-ghost'])
+ self.assertEqual(set(['a-ghost']), search.next())
+ self.assertRaises(StopIteration, search.next)
+
+ def test_breadth_first_search_deep_ghosts(self):
+ parent_graph = {
+ 'head':['present'],
+ 'present':['child', 'ghost'],
+ 'child':[],
+ }
+ parents_provider = InstrumentedParentsProvider(
+ _mod_graph.DictParentsProvider(parent_graph))
+ graph = _mod_graph.Graph(parents_provider)
+ # with_ghosts reports the ghosts
+ search = graph._make_breadth_first_searcher(['head'])
+ self.assertEqual((set(['head']), set()), search.next_with_ghosts())
+ self.assertEqual((set(['present']), set()), search.next_with_ghosts())
+ self.assertEqual((set(['child']), set(['ghost'])),
+ search.next_with_ghosts())
+ self.assertRaises(StopIteration, search.next_with_ghosts)
+ # next includes them
+ search = graph._make_breadth_first_searcher(['head'])
+ self.assertEqual(set(['head']), search.next())
+ self.assertEqual(set(['present']), search.next())
+ self.assertEqual(set(['child', 'ghost']),
+ search.next())
+ self.assertRaises(StopIteration, search.next)
+
+ def test_breadth_first_search_change_next_to_next_with_ghosts(self):
+ # To make the API robust, we allow changing from next() to
+ # next_with_ghosts() and vice verca.
+ parent_graph = {
+ 'head':['present'],
+ 'present':['child', 'ghost'],
+ 'child':[],
+ }
+ parents_provider = InstrumentedParentsProvider(
+ _mod_graph.DictParentsProvider(parent_graph))
+ graph = _mod_graph.Graph(parents_provider)
+ # with_ghosts reports the ghosts
+ search = graph._make_breadth_first_searcher(['head'])
+ self.assertEqual((set(['head']), set()), search.next_with_ghosts())
+ self.assertEqual(set(['present']), search.next())
+ self.assertEqual((set(['child']), set(['ghost'])),
+ search.next_with_ghosts())
+ self.assertRaises(StopIteration, search.next)
+ # next includes them
+ search = graph._make_breadth_first_searcher(['head'])
+ self.assertEqual(set(['head']), search.next())
+ self.assertEqual((set(['present']), set()), search.next_with_ghosts())
+ self.assertEqual(set(['child', 'ghost']),
+ search.next())
+ self.assertRaises(StopIteration, search.next_with_ghosts)
+
class TestCachingParentsProvider(tests.TestCase):
@@ -690,20 +725,6 @@
self.inst_pp = InstrumentedParentsProvider(dict_pp)
self.caching_pp = _mod_graph.CachingParentsProvider(self.inst_pp)
- def test_get_parents(self):
- """Requesting the same revision should be returned from cache"""
- self.assertEqual({}, self.caching_pp._cache)
- self.assertEqual([('b',)],
- self.applyDeprecated(symbol_versioning.one_one,
- self.caching_pp.get_parents, ['a']))
- self.assertEqual(['a'], self.inst_pp.calls)
- self.assertEqual([('b',)],
- self.applyDeprecated(symbol_versioning.one_one,
- self.caching_pp.get_parents, ['a']))
- # No new call, as it should have been returned from the cache
- self.assertEqual(['a'], self.inst_pp.calls)
- self.assertEqual({'a':('b',)}, self.caching_pp._cache)
-
def test_get_parent_map(self):
"""Requesting the same revision should be returned from cache"""
self.assertEqual({}, self.caching_pp._cache)
=== modified file 'bzrlib/tests/test_osutils.py'
--- a/bzrlib/tests/test_osutils.py 2008-01-09 23:21:45 +0000
+++ b/bzrlib/tests/test_osutils.py 2008-01-11 04:55:53 +0000
@@ -1114,6 +1114,7 @@
* hpss - trace smart protocol requests and responses
* http - trace http connections, requests and responses
* index - trace major index operations
+ * knit - trace knit operations
* lock - trace when lockdir locks are taken or released
* merge - emit information for debugging merges
* times - record timestamps from program start in trace file
=== modified file 'bzrlib/tests/test_reconfigure.py'
--- a/bzrlib/tests/test_reconfigure.py 2007-12-13 16:38:54 +0000
+++ b/bzrlib/tests/test_reconfigure.py 2008-01-11 17:59:20 +0000
@@ -200,6 +200,21 @@
self.assertRaises(errors.NoRepositoryPresent,
child.bzrdir.open_repository)
+ def test_branch_to_lightweight_checkout_failure(self):
+ parent = self.make_branch('parent')
+ child = parent.bzrdir.sprout('child').open_workingtree()
+ child.commit('test', rev_id='new-commit')
+ reconfiguration = reconfigure.Reconfigure.to_lightweight_checkout(
+ child.bzrdir)
+ old_Repository_fetch = repository.Repository.fetch
+ repository.Repository.fetch = None
+ try:
+ self.assertRaises(TypeError, reconfiguration.apply)
+ finally:
+ repository.Repository.fetch = old_Repository_fetch
+ child = _mod_branch.Branch.open('child')
+ self.assertContainsRe(child.base, 'child/$')
+
def test_lightweight_checkout_to_lightweight_checkout(self):
parent = self.make_branch('parent')
checkout = parent.create_checkout('checkout', lightweight=True)
=== modified file 'bzrlib/tests/test_remote.py'
--- a/bzrlib/tests/test_remote.py 2007-10-12 06:24:42 +0000
+++ b/bzrlib/tests/test_remote.py 2008-01-11 05:46:54 +0000
@@ -108,10 +108,13 @@
"""Lookalike SmartClientRequestProtocolOne allowing body reading tests."""
def __init__(self, body, fake_client):
- self._body_buffer = StringIO(body)
+ self.body = body
+ self._body_buffer = None
self._fake_client = fake_client
def read_body_bytes(self, count=-1):
+ if self._body_buffer is None:
+ self._body_buffer = StringIO(self.body)
bytes = self._body_buffer.read(count)
if self._body_buffer.tell() == len(self._body_buffer.getvalue()):
self._fake_client.expecting_body = False
@@ -120,6 +123,9 @@
def cancel_read_body(self):
self._fake_client.expecting_body = False
+ def read_streamed_body(self):
+ return self.body
+
class FakeClient(_SmartClient):
"""Lookalike for _SmartClient allowing testing."""
@@ -701,7 +707,7 @@
responses, transport_path)
# The null revision is always there, so has_revision(None) == True.
- self.assertEqual(True, repo.has_revision(None))
+ self.assertEqual(True, repo.has_revision(NULL_REVISION))
# The remote repo shouldn't be accessed.
self.assertEqual([], client._calls)
@@ -775,6 +781,13 @@
pack_file.seek(0)
return pack_file
+ def make_pack_stream(self, records):
+ pack_serialiser = pack.ContainerSerialiser()
+ yield pack_serialiser.begin()
+ for bytes, names in records:
+ yield pack_serialiser.bytes_record(bytes, names)
+ yield pack_serialiser.end()
+
def test_bad_pack_from_server(self):
"""A response with invalid data (e.g. it has a record with multiple
names) triggers an exception.
@@ -783,8 +796,8 @@
malformed data should be.
"""
record = ('bytes', [('name1',), ('name2',)])
- pack_file = self.make_pack_file([record])
- responses = [(('ok',), pack_file.getvalue()), ]
+ pack_stream = self.make_pack_stream([record])
+ responses = [(('ok',), pack_stream), ]
transport_path = 'quack'
repo, client = self.setup_fake_client_and_repository(
responses, transport_path)
@@ -795,7 +808,7 @@
"""If the server doesn't recognise this request, fallback to VFS."""
error_msg = (
"Generic bzr smart protocol error: "
- "bad request 'Repository.stream_knit_data_for_revisions'")
+ "bad request 'Repository.stream_revisions_chunked'")
responses = [
(('error', error_msg), '')]
repo, client = self.setup_fake_client_and_repository(
=== modified file 'bzrlib/tests/test_smart.py'
--- a/bzrlib/tests/test_smart.py 2007-11-26 03:36:30 +0000
+++ b/bzrlib/tests/test_smart.py 2008-01-02 07:58:37 +0000
@@ -29,7 +29,11 @@
import tarfile
from bzrlib import bzrdir, errors, pack, smart, tests
-from bzrlib.smart.request import SmartServerResponse
+from bzrlib.smart.request import (
+ FailedSmartServerResponse,
+ SmartServerResponse,
+ SuccessfulSmartServerResponse,
+ )
import bzrlib.smart.bzrdir
import bzrlib.smart.branch
import bzrlib.smart.repository
@@ -814,6 +818,54 @@
response)
+class TestSmartServerRepositoryStreamRevisionsChunked(tests.TestCaseWithTransport):
+
+ def test_fetch_revisions(self):
+ backing = self.get_transport()
+ request = smart.repository.SmartServerRepositoryStreamRevisionsChunked(
+ backing)
+ tree = self.make_branch_and_memory_tree('.')
+ tree.lock_write()
+ tree.add('')
+ rev_id1_utf8 = u'\xc8'.encode('utf-8')
+ rev_id2_utf8 = u'\xc9'.encode('utf-8')
+ r1 = tree.commit('1st commit', rev_id=rev_id1_utf8)
+ r1 = tree.commit('2nd commit', rev_id=rev_id2_utf8)
+ tree.unlock()
+
+ response = request.execute(backing.local_abspath(''), rev_id2_utf8)
+ self.assertEqual(('ok',), response.args)
+ from cStringIO import StringIO
+ parser = pack.ContainerPushParser()
+ names = []
+ for stream_bytes in response.body_stream:
+ parser.accept_bytes(stream_bytes)
+ for [name], record_bytes in parser.read_pending_records():
+ names.append(name)
+ # The bytes should be a valid bencoded string.
+ bencode.bdecode(record_bytes)
+ # XXX: assert that the bencoded knit records have the right
+ # contents?
+
+ def test_no_such_revision_error(self):
+ backing = self.get_transport()
+ request = smart.repository.SmartServerRepositoryStreamRevisionsChunked(
+ backing)
+ repo = self.make_repository('.')
+ rev_id1_utf8 = u'\xc8'.encode('utf-8')
+ response = request.execute(backing.local_abspath(''), rev_id1_utf8)
+ # There's no error initially.
+ self.assertTrue(response.is_successful())
+ self.assertEqual(('ok',), response.args)
+ # We only get an error while streaming the body.
+ body = list(response.body_stream)
+ last_chunk = body[-1]
+ self.assertIsInstance(last_chunk, FailedSmartServerResponse)
+ self.assertEqual(
+ last_chunk,
+ FailedSmartServerResponse(('NoSuchRevision', rev_id1_utf8)))
+
+
class TestSmartServerIsReadonly(tests.TestCaseWithTransport):
def test_is_readonly_no(self):
@@ -881,7 +933,7 @@
smart.repository.SmartServerRepositoryLockWrite)
self.assertEqual(
smart.request.request_handlers.get(
- 'Repository.stream_knit_data_for_revisions'),
+ 'Repository.chunked_stream_knit_data_for_revisions'),
smart.repository.SmartServerRepositoryStreamKnitDataForRevisions)
self.assertEqual(
smart.request.request_handlers.get('Repository.tarball'),
=== modified file 'bzrlib/tests/test_smart_transport.py'
--- a/bzrlib/tests/test_smart_transport.py 2007-12-24 15:29:10 +0000
+++ b/bzrlib/tests/test_smart_transport.py 2008-01-11 05:08:20 +0000
@@ -2277,6 +2277,8 @@
('foo', 'bar'), 'bytes')
self.assertEqual(('foo', 'bar'), response.args)
self.assertEqual('bytes', response.body)
+ # repr(response) doesn't trigger exceptions.
+ repr(response)
def test_construct_with_body_stream(self):
bytes_iterable = ['abc']
@@ -2306,6 +2308,8 @@
response = request.FailedSmartServerResponse(('foo', 'bar'), 'bytes')
self.assertEqual(('foo', 'bar'), response.args)
self.assertEqual('bytes', response.body)
+ # repr(response) doesn't trigger exceptions.
+ repr(response)
def test_is_successful(self):
"""is_successful should return False for FailedSmartServerResponse."""
More information about the bazaar-commits
mailing list