Rev 3099: Fix 173010 by reading data as it arrives on the http socket (vila) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Dec 10 12:06:24 GMT 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3099
revision-id:pqm at pqm.ubuntu.com-20071210120611-a3j02d26cbzvlyju
parent: pqm at pqm.ubuntu.com-20071210111506-yg1tr8vzzszs3i26
parent: v.ladeuil+lp at free.fr-20071210111006-xbxxp6cdt16hqgfk
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2007-12-10 12:06:11 +0000
message:
Fix 173010 by reading data as it arrives on the http socket (vila)
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
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
------------------------------------------------------------
revno: 3097.2.1
revision-id:v.ladeuil+lp at free.fr-20071210111006-xbxxp6cdt16hqgfk
parent: pqm at pqm.ubuntu.com-20071210020804-xbbzol1ndjmec105
parent: v.ladeuil+lp at free.fr-20071210104124-0brt3h7ed1kiug0v
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: trunk
timestamp: Mon 2007-12-10 12:10:06 +0100
message:
Fix 173010 by reading data as it arrives on the http socket
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
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
------------------------------------------------------------
revno: 3059.2.18
revision-id:v.ladeuil+lp at free.fr-20071210104124-0brt3h7ed1kiug0v
parent: v.ladeuil+lp at free.fr-20071208231518-sj2ui57xyd4mkjra
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-10 11:41:24 +0100
message:
Take spiv review comments into account.
* bzrlib/transport/http/response.py:
(RangeFile._seek_to_next_range): Factored out since this is now
used by both seek and read.
(RangeFile.read): Trigger next range recognition when needed.
(RangeFile.seek): Don't seek over the range boundary if not
required to.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase._coalesce_readv.get_and_yield): Add a
prophylactic assertionError.
* bzrlib/tests/test_transport_implementations.py:
Fix typos.
* bzrlib/tests/test_http_response.py:
(TestRangeFileMixin.test_read_zero,
TestRangeFileMixin.test_seek_at_range_end,
TestRangeFileMixin.test_read_at_range_end,
TestRangeFileSizeUnknown.test_read_at_range_end,
TestRangeFilMultipleRanges.test_seek_at_range_end,
TestRangeFilMultipleRanges.test_read_at_range_end): More tests
covering read(0).
modified:
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.17
revision-id:v.ladeuil+lp at free.fr-20071208231518-sj2ui57xyd4mkjra
parent: v.ladeuil+lp at free.fr-20071208162634-j0g3q0xjr1g7abam
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Sun 2007-12-09 00:15:18 +0100
message:
Limit GET requests by body size instead of number of ranges.
* bzrlib/transport/http/response.py:
Fix some error messages.
(RangeFile.read_range_definition): Keep the range headers in the
_headers attribute for easier debugging (especially for remote
debugging).
* bzrlib/transport/http/_pycurl.py:
(PyCurlTransport): Replace _max_readv_combine by _get_max_size
which is more approriate to the problem.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase): Add a _get_max_size class attribute
corresponding to the max_size _coalesced_offets max_size
parameter.
(HttpTransportBase._coalesce_readv): Limit the size of the get
requests if _get_max_size is greater than 0 while still respecting
the maximum number of ranges in a request.
* bzrlib/tests/test_http.py:
(TestRangeRequestServer.test_readv_get_max_size): Test the
_get_max_size parameter.
* bzrlib/transport/__init__.py:
(Transport._coalesce_offsets): Add a max_size parameter limiting
the size of the coalesced offsets.
* bzrlib/tests/test_transport.py:
(TestCoalesceOffsets.check): Add the max_size parameter.
(TestCoalesceOffsets.test_coalesce_max_size,
TestCoalesceOffsets.test_coalesce_no_max_size): Test the max_size
parameter.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
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/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.16
revision-id:v.ladeuil+lp at free.fr-20071208162634-j0g3q0xjr1g7abam
parent: v.ladeuil+lp at free.fr-20071208145052-nq3evn50kvqkvp1t
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Sat 2007-12-08 17:26:34 +0100
message:
Cleanup (thanks *again* to --coverage).
* bzrlib/transport/http/__init__.py:
(HttpTransportBase._get_ranges_hinted): Deleted, not used anymore
by _readv.
(HttpTransportBase.offsets_to_ranges): Deprecated in 0.17.
modified:
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
------------------------------------------------------------
revno: 3059.2.15
revision-id:v.ladeuil+lp at free.fr-20071208145052-nq3evn50kvqkvp1t
parent: v.ladeuil+lp at free.fr-20071208143101-8tfliktokavo2ytd
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Sat 2007-12-08 15:50:52 +0100
message:
Fix bogus test.
* bzrlib/tests/test_http.py:
(TestRanges._file_tail): Fix the test that was hiding the bug in
RangeFile.seek.
modified:
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
------------------------------------------------------------
revno: 3059.2.14
revision-id:v.ladeuil+lp at free.fr-20071208143101-8tfliktokavo2ytd
parent: v.ladeuil+lp at free.fr-20071207230334-2cgq906cu3s4fj5b
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Sat 2007-12-08 15:31:01 +0100
message:
Complete coverage by adding tests for more invalid inputs. Fix a
bug when seeking from end (not used by bzrlib).
* bzrlib/tests/test_http_response.py:
(TestRangeFileMixin.test_seek_from_end): Strangely this one was
missed in the previous refactoring and rewriting it revealed a bug
already present in the original (pre-streamed) implementation.
(TestRangeFileSingleRange): Revealed by --coverage, this can't be
encountered in normal use.
(TestRangeFilMultipleRanges.test_seek_from_end): Multiple range
have a slighty different behavior.
(TestRangeFileVarious.test_seek_whence): Revealed by --coverage.
(TestRangeFileVarious.test_range_syntax): Revealed by --coverage,
add more tests for invalid inputs.
(TestHandleResponse.test_single_range_truncated,
TestHandleResponse.test_multipart_no_content_range,
TestHandleResponse.test_multipart_no_boundary): Revealed by
--coverage, add more tests for invalid inputs.
* bzrlib/transport/http/response.py:
(RangeFile.seek): Off-by-one error for whence=2.
modified:
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.13
revision-id:v.ladeuil+lp at free.fr-20071207230334-2cgq906cu3s4fj5b
parent: v.ladeuil+lp at free.fr-20071207224631-eauq1t40u3jqh9rw
parent: pqm at pqm.ubuntu.com-20071207083421-7uxzmxup5kpl4w9r
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Sat 2007-12-08 00:03:34 +0100
message:
merge bzr.dev
removed:
index.txt index.txt-20071121073725-0corxykv5irjal00-1
added:
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
modified:
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
README README-20050309040720-8f368abf9f346b9d
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/bugtracker.py bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/plugins/launchpad/lp_indirect.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
bzrlib/plugins/launchpad/test_lp_indirect.py test_lp_indirect.py-20070126002743-oyle362tzv9cd8mi-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/pack_repo.py pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/switch.py switch.py-20071116011000-v5lnw7d2wkng9eux-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
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_push.py test_push.py-20060329002750-929af230d5d22663
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_pull.py test_pull.py-20060410103942-83c35b26657414fc
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_bugtracker.py test_bugtracker.py-20070410073305-vu1vu1qosjurg8kb-2
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_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_log.py testlog.py-20050728115707-1a514809d7d49309
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/trace.py trace.py-20050309040759-c8ed824bdcd4748a
bzrlib/transport/ssh.py ssh.py-20060824042150-0s9787kng6zv1nwq-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
doc/developers/bundles.txt bundles.txt-20070621030528-qkjnugd7iyud6ow3-1
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
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/core_concepts.txt core_concepts.txt-20071114035000-q36a9h57ps06uvnl-2
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/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/undoing_mistakes.txt undoing_mistakes.txt-20071121092300-8fyacngt1w98e5mp-1
doc/en/user-guide/working_offline_central.txt working_offline_cent-20071123055134-k5x4ekduci2lbn36-5
doc/index.txt index.txt-20070813101924-07gd9i9d2jt124bf-1
------------------------------------------------------------
revno: 3059.2.12
revision-id:v.ladeuil+lp at free.fr-20071207224631-eauq1t40u3jqh9rw
parent: v.ladeuil+lp at free.fr-20071206224616-wn217wlduoe4rdkh
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Fri 2007-12-07 23:46:31 +0100
message:
Spiv review feedback.
* bzrlib/tests/test_http_response.py:
Redesigned following spiv advices (with some liberties so all
errors are still mine ;).
* bzrlib/tests/test_errors.py:
Add tests for InvalidRange and InvalidHttpRange.
* bzrlib/tests/HttpServer.py:
(TestingHTTPRequestHandler.get_multiple_ranges): One boundary line
before each range and one final boundary line.
modified:
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
------------------------------------------------------------
revno: 3059.2.11
revision-id:v.ladeuil+lp at free.fr-20071206224616-wn217wlduoe4rdkh
parent: v.ladeuil+lp at free.fr-20071204082624-14qyieeefm13zm7b
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Thu 2007-12-06 23:46:16 +0100
message:
Fix typos mentioned by spiv.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.10
revision-id:v.ladeuil+lp at free.fr-20071204082624-14qyieeefm13zm7b
parent: v.ladeuil+lp at free.fr-20071203203305-pd0a61a7c4hkcajn
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Tue 2007-12-04 09:26:24 +0100
message:
Jam's review feedback.
* bzrlib/transport/http/response.py:
(RangeFile.set_range_from_header): Catch ValueError only.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase._readv, HttpTransportBase._coalesce_readv):
'file' is a builtin use rfile instead.
* bzrlib/tests/test_transport_implementations.py:
(TransportTests.test_get): Use izip.
modified:
bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.9
revision-id:v.ladeuil+lp at free.fr-20071203203305-pd0a61a7c4hkcajn
parent: v.ladeuil+lp at free.fr-20071203202338-hcef7h3tavde9w40
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 21:33:05 +0100
message:
Fix commit resolution error.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3059.2.8
revision-id:v.ladeuil+lp at free.fr-20071203202338-hcef7h3tavde9w40
parent: v.ladeuil+lp at free.fr-20071203175335-1u285fvj1ejbjlqb
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 21:23:38 +0100
message:
Update NEWS.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3059.2.7
revision-id:v.ladeuil+lp at free.fr-20071203175335-1u285fvj1ejbjlqb
parent: v.ladeuil+lp at free.fr-20071203163410-7o415a4mjn5ih2ni
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 18:53:35 +0100
message:
Allow pycurl users to watch the blinkenlights and fix a bug when ranges are contiguous.
* bzrlib/transport/http/response.py:
(RangeFile.read): Fix indentation.
(RangeFile.seek): Off-by-one error if the pos is after the
range (i.e. at start + size), the range has been fully read, the
next range should be started.
* bzrlib/transport/http/_pycurl.py:
(PyCurlTransport): Limit coalescing to issur more requests to
compensate for the pycurl lack of feedback.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase._get_ranges_hinted): Catch InvalidHttpRange,
not InvalidRange which cannot occur here.
* bzrlib/tests/test_http_response.py:
(TestRangeFileAccess._file_multi_ranges): Add a third range
contiguous to the second one.
(TestRangeFileAccess.test_valid_accesses): Test the case where the
last read ends at the end of the range leaving pos at a value
equals to the start of a next contiguous range.
modified:
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
------------------------------------------------------------
revno: 3059.2.6
revision-id:v.ladeuil+lp at free.fr-20071203163410-7o415a4mjn5ih2ni
parent: v.ladeuil+lp at free.fr-20071203135236-eh1ia9y0aurc91gb
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 17:34:10 +0100
message:
Light modifications after a failed attempt at making RangeFile iterable.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase.get): Better document while we wrap th result
into a StringIO().
* bzrlib/tests/test_http_response.py:
(TestRanges.test_range_syntax): Provide a usable file-like object.
modified:
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
------------------------------------------------------------
revno: 3059.2.5
revision-id:v.ladeuil+lp at free.fr-20071203135236-eh1ia9y0aurc91gb
parent: v.ladeuil+lp at free.fr-20071203091407-en2nm0ktfs2f9sg2
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 14:52:36 +0100
message:
DAMN^64, the http test server is 1.0 not 1.1 :( Better pipe cleaning and less readv caching (since that's the point of the whole fix).
* bzrlib/transport/http/_urllib2_wrappers.py:
(Response.finish): Do the Right Thing to clean the pipe: most of
the time we know exactly how many bytes are still to be read. And
when we don't, we are not maintaining a persistent connection so
we don't care.
(AbstractHTTPConnection.__init__): Keep track of the last response
handled.
(AbstractHTTPConnection._mutter_connect): New method issuing the
traces.
(AbstractHTTPConnection.getresponse): Capture each response.
(AbstractHTTPConnection.cleanup_pipe): Delegate the cleaning to
the response, it knows better.
(HTTPConnection.__init__): Not the right place to reliably trace
the connections issued.
(HTTPConnection.connect, HTTPSConnection.connect): Right place to
reliably trace the connections issued.
(AbstractHTTPHandler.do_open): The debug output for response was
not done at the right place, resulting in trace doubling in case
of retry on errors.
* bzrlib/transport/http/__init__.py:
(HttpTransportBase._readv): If the coalesced offsets order matches
the provided offsets order, don't cache. Ftw.
modified:
bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
------------------------------------------------------------
revno: 3059.2.4
revision-id:v.ladeuil+lp at free.fr-20071203091407-en2nm0ktfs2f9sg2
parent: v.ladeuil+lp at free.fr-20071203090316-33541cdjukhvqqop
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 10:14:07 +0100
message:
Fix typo so that all tests pass now (after merging bzr.dev to get rid of
the is_ancestor failure).
* bzrlib/transport/http/_pycurl.py:
(PyCurlTransport._get_ranged): Fix typo.
modified:
bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
------------------------------------------------------------
revno: 3059.2.3
revision-id:v.ladeuil+lp at free.fr-20071203090316-33541cdjukhvqqop
parent: v.ladeuil+lp at free.fr-20071203083306-m0kwow43u8vdrp7b
parent: pqm at pqm.ubuntu.com-20071203012007-1tfytfzp7piacl7q
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 10:03:16 +0100
message:
merge bzr.dev
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/commit.py commit.py-20050511101309-79ec1a0168e0e825
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
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/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
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/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
bzrlib/tests/test_ancestry.py test_ancestry.py-20050913023709-69768e94848312c6
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_revision.py testrevision.py-20050804210559-46f5e1eb67b01289
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
------------------------------------------------------------
revno: 3059.2.2
revision-id:v.ladeuil+lp at free.fr-20071203083306-m0kwow43u8vdrp7b
parent: v.ladeuil+lp at free.fr-20071130133919-z7go1o2zvm1cv68s
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Mon 2007-12-03 09:33:06 +0100
message:
Read http responses on demand without buffering the whole body
response.
* bzrlib/transport/http/response.py:
New implementation of handle_response with only one RangeFile
class covering all the needs. The main purpose is to read the data
on demand instead of buffering everything at the beginning. The
main target is readv but get needs are addressed as well.
(RangeFile): Respect socket use by handling ranges on the fly and
never seeking backwards.
(HttpRangeResponse, HttpMultipartRangeResponse): Deleted.
(handle_response): The 'headers' parameter is now an HTTPMessage
containing the response headers. Stop handling 4xx error codes,
the clients do that themselves.
* bzrlib/transport/http/_urllib2_wrappers.py:
(AbstractHTTPConnection.cleanup_pipe): Renamed from 'fake_close'
the new name is more appropriate and less scary (the content is the
same though).
(HTTPDefaultErrorHandler.http_error_default): Stop handling 416
here to get a finer control in the layer above.
* bzrlib/transport/http/_urllib.py:
(HttpTransport_urllib._perform): Cleanup the httplib pipe before
each request so that clients can leave it dirty without worrying.
(HttpTransport_urllib._get): Add 416 as an expected error so that
we handle it (_urllib2_wrappers was handling it before).
(HttpTransport_urllib._get): Handle 400 and 416 errors here. Don't
bother cleaning the pipe anymore.
(HttpTransport_urllib._post, HttpTransport_urllib._head): Don't
bother cleaning the pipe anymore.
* bzrlib/transport/http/_pycurl.py:
(PyCurlTransport._get_ranged): Handle 400 and 416 errors
here. Also use HTTPMessage to replace the _extract_headers use.
(PyCurlTransport._parse_headers): New method. Create an
HTTPMessage from the raw headers provided by pycurl.
* bzrlib/transport/http/__init__.py:
(_extract_headers): Deleted. HTTPMessage is a better alternative.
(HttpTransportBase.get): Wrap the result in a StringIO since same
callers want an iterable, stop gap to make the tests pass, MUST be
fixed.
(HttpTransportBase._readv): Also catch InvalidHttpRange.
(HttpTransportBase._coalesce_readv): Indicates that only
InvalidHttpRange (not InvalidRange) can be raised from there.
* bzrlib/transport/__init__.py:
(_CoalescedOffset.__repr__): Provided by jam and lost in previous
patches.
* bzrlib/tests/test_transport_implementations.py:
(TransportTests.test_get): Switch from zip() to itertools.imap or
the transport requests are all issued before reading the files.
This works for sftp since several file-handles can be created on a
single ssh connection, for ftp since all get() are StringIO
buffered (bang head against desktop) and used to work with http
before the http response rewriting.
* bzrlib/tests/test_http_response.py: Test the new RangeFile
implementation, get rid of now useless tests. All deleted tests
have been reviewed to avoid test coverage regression.
* bzrlib/tests/HttpServer.py:
(TestingHTTPRequestHandler.get_multiple_ranges): Only one boundary
line per part should be written.
* bzrlib/errors.py:
(InvalidRange.__init__): The msg was duplicated.
(InvalidHttpRange.__init__): Add an optional 'msg' attribute.
modified:
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-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_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
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
------------------------------------------------------------
revno: 3059.2.1
revision-id:v.ladeuil+lp at free.fr-20071130133919-z7go1o2zvm1cv68s
parent: pqm at pqm.ubuntu.com-20071130083301-5zq7705t6xa7yikn
parent: v.ladeuil+lp at free.fr-20071130095122-6xz845lluzjp7tvs
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: 173010
timestamp: Fri 2007-11-30 14:39:19 +0100
message:
merge fix for bug #172701, work continued on top of it
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/help_topics.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/tests/HTTPTestUtil.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
bzrlib/tests/HttpServer.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
bzrlib/tests/test_http.py testhttp.py-20051018020158-b2eef6e867c514d9
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
Diff too large for email (2627 lines, the limit is 1000).
More information about the bazaar-commits
mailing list