Rev 2945: merge fix for bug 173010 since it changes the http response handling in a good way in file:///v/home/vila/src/bzr/experimental/https/

Vincent Ladeuil v.ladeuil+lp at free.fr
Sun Dec 9 18:00:21 GMT 2007


At file:///v/home/vila/src/bzr/experimental/https/

------------------------------------------------------------
revno: 2945
revision-id:v.ladeuil+lp at free.fr-20071209180014-hig14lbi1rap06qu
parent: v.ladeuil+lp at free.fr-20071209172804-t9v272m2woycdruo
parent: v.ladeuil+lp at free.fr-20071208231518-sj2ui57xyd4mkjra
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: https
timestamp: Sun 2007-12-09 19:00:14 +0100
message:
  merge fix for bug 173010 since it changes the http response handling in a good way
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
  bzrlib/tests/http_server.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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: 2929.1.130.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
-------------- next part --------------

Diff too large for email (2513 lines, the limit is 1000).


More information about the bazaar-commits mailing list