Rev 3929: (vila) Add native ssl support for python-2.6, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Thu Jan 8 17:37:15 GMT 2009


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

------------------------------------------------------------
revno: 3929
revision-id: pqm at pqm.ubuntu.com-20090108173709-wgrkm02ayt1gf1n1
parent: pqm at pqm.ubuntu.com-20090108161207-d95v7ouel5ibahh0
parent: v.ladeuil+lp at free.fr-20090108165710-d49d4uuq3emdr749
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Thu 2009-01-08 17:37:09 +0000
message:
  (vila) Add native ssl support for python-2.6,
  	starting with an https test server
added:
  bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
  bzrlib/tests/ssl_certs/        ssl_certs-20071124141654-dc9za9nho2gmzbri-1
  bzrlib/tests/ssl_certs/__init__.py __init__.py-20071124141703-j5hr254lm287lyut-8
  bzrlib/tests/ssl_certs/ca.crt  ca.crt-20071124141703-j5hr254lm287lyut-7
  bzrlib/tests/ssl_certs/ca.key  ca.key-20071124141703-j5hr254lm287lyut-6
  bzrlib/tests/ssl_certs/create_ssls.py create_ssls.py-20071124141703-j5hr254lm287lyut-5
  bzrlib/tests/ssl_certs/server.crt server.crt-20071124141703-j5hr254lm287lyut-4
  bzrlib/tests/ssl_certs/server.csr server.csr-20071124141703-j5hr254lm287lyut-3
  bzrlib/tests/ssl_certs/server_with_pass.key server_with_pass.key-20071124141703-j5hr254lm287lyut-2
  bzrlib/tests/ssl_certs/server_without_pass.key server_without_pass.-20071124141703-j5hr254lm287lyut-1
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
  bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
  bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
  bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
  bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
  bzrlib/transport/http/ca_bundle.py ca_bundle.py-20070226091335-84kb1xg1r2jjf858-1
  doc/developers/authentication-ring.txt authring.txt-20070718200437-q5tdik0ne6lor86d-1
    ------------------------------------------------------------
    revno: 3928.1.1
    revision-id: v.ladeuil+lp at free.fr-20090108165710-d49d4uuq3emdr749
    parent: pqm at pqm.ubuntu.com-20090108161207-d95v7ouel5ibahh0
    parent: v.ladeuil+lp at free.fr-20090108152817-bz3qc952o4zs1kgk
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.integration
    timestamp: Thu 2009-01-08 17:57:10 +0100
    message:
      Add native ssl support for python-2.6, starting with an https test server
    added:
      bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
      bzrlib/tests/ssl_certs/        ssl_certs-20071124141654-dc9za9nho2gmzbri-1
      bzrlib/tests/ssl_certs/__init__.py __init__.py-20071124141703-j5hr254lm287lyut-8
      bzrlib/tests/ssl_certs/ca.crt  ca.crt-20071124141703-j5hr254lm287lyut-7
      bzrlib/tests/ssl_certs/ca.key  ca.key-20071124141703-j5hr254lm287lyut-6
      bzrlib/tests/ssl_certs/create_ssls.py create_ssls.py-20071124141703-j5hr254lm287lyut-5
      bzrlib/tests/ssl_certs/server.crt server.crt-20071124141703-j5hr254lm287lyut-4
      bzrlib/tests/ssl_certs/server.csr server.csr-20071124141703-j5hr254lm287lyut-3
      bzrlib/tests/ssl_certs/server_with_pass.key server_with_pass.key-20071124141703-j5hr254lm287lyut-2
      bzrlib/tests/ssl_certs/server_without_pass.key server_without_pass.-20071124141703-j5hr254lm287lyut-1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
      bzrlib/transport/http/ca_bundle.py ca_bundle.py-20070226091335-84kb1xg1r2jjf858-1
      doc/developers/authentication-ring.txt authring.txt-20070718200437-q5tdik0ne6lor86d-1
    ------------------------------------------------------------
    revno: 2929.3.27
    revision-id: v.ladeuil+lp at free.fr-20090108152817-bz3qc952o4zs1kgk
    parent: v.ladeuil+lp at free.fr-20081212143313-xttculpjnshz8rvl
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Thu 2009-01-08 16:28:17 +0100
    message:
      Fixed as per Ian's review.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
      bzrlib/tests/ssl_certs/__init__.py __init__.py-20071124141703-j5hr254lm287lyut-8
    ------------------------------------------------------------
    revno: 2929.3.26
    revision-id: v.ladeuil+lp at free.fr-20081212143313-xttculpjnshz8rvl
    parent: v.ladeuil+lp at free.fr-20081211124909-txt4rbv3gfzsxibc
    parent: pqm at pqm.ubuntu.com-20081212134729-rphmydb7slbgqmeu
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Fri 2008-12-12 15:33:13 +0100
    message:
      merge bzr.dev at 3903
    added:
      bzrlib/_chunks_to_lines_py.py  _chunks_to_lines_py.-20081211024848-6uc3mtuje8j14l60-1
      bzrlib/_chunks_to_lines_pyx.pyx _chunks_to_lines_pyx-20081211021736-op7n8vrxgrd8snfi-1
      bzrlib/fifo_cache.py           fifo_cache.py-20081209212307-31ffjwvteyvmydnf-1
      bzrlib/tests/blackbox/test_shelve.py test_ls_shelf.py-20081202053526-thlo8yt0pi1cgor1-1
      bzrlib/tests/per_repository/test_add_inventory_by_delta.py test_add_inventory_d-20081013002626-rut81igtlqb4590z-1
      bzrlib/tests/test__chunks_to_lines.py test__chunks_to_line-20081211024848-6uc3mtuje8j14l60-2
      bzrlib/tests/test_fifo_cache.py test_fifo_cache.py-20081209212307-31ffjwvteyvmydnf-2
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/_dirstate_helpers_c.h   _dirstate_helpers_c.-20070802205935-hqo9yzuzjix271dd-1
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/delta.py                delta.py-20050729221636-54cf14ef94783d0a
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
      bzrlib/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/lru_cache.py            lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/push.py                 push.py-20080606021927-5fe39050e8xne9un-1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/shelf.py                prepare_shelf.py-20081005181341-n74qe6gu1e65ad4v-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/blackbox/test_ls.py test_ls.py-20060712232047-0jraqpecwngee12y-1
      bzrlib/tests/blackbox/test_pull.py test_pull.py-20051201144907-64959364f629947f
      bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
      bzrlib/tests/blackbox/test_revision_info.py test_revision_info.py-20050917162600-21dab3877aa348d7
      bzrlib/tests/interrepository_implementations/__init__.py __init__.py-20060220054744-baf49a1f88f17b1a
      bzrlib/tests/per_repository/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/per_repository/test_add_fallback_repository.py test_add_fallback_re-20080215040003-8w9n4ck9uqdxj18m-1
      bzrlib/tests/per_repository/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
      bzrlib/tests/test_osutils.py   test_osutils.py-20051201224856-e48ee24c12182989
      bzrlib/tests/test_remote.py    test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
      bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
      bzrlib/tests/test_shelf.py     test_prepare_shelf.p-20081005181341-n74qe6gu1e65ad4v-2
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      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/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
    ------------------------------------------------------------
    revno: 2929.3.25
    revision-id: v.ladeuil+lp at free.fr-20081211124909-txt4rbv3gfzsxibc
    parent: v.ladeuil+lp at free.fr-20081209140401-ri5frayrfvbvaboc
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Thu 2008-12-11 13:49:09 +0100
    message:
      Check non-regression against python-2.5/2.6.
      
      * bzrlib/transport/ftp/__init__.py:
      (get_test_permutations.UnavailableFTPServer): Strangely enough
      that fails when medusa is not present.
      
      * bzrlib/tests/http_server.py:
      (TestingHTTPRequestHandler.send_error): Deleted, that doesn't seem
      needed anymore and even buggy.
      
      * bzrlib/tests/branch_implementations/test_branch.py:
      (ChrootedTests.setUp): Delete debug code.
    modified:
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/transport/ftp/__init__.py ftp.py-20051116161804-58dc9506548c2a53
    ------------------------------------------------------------
    revno: 2929.3.24
    revision-id: v.ladeuil+lp at free.fr-20081209140401-ri5frayrfvbvaboc
    parent: v.ladeuil+lp at free.fr-20081209140128-0xcfq9duromiqq90
    parent: pqm at pqm.ubuntu.com-20081209023452-12dbzcwzxrt1xee3
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Tue 2008-12-09 15:04:01 +0100
    message:
      merge bzr.dev at 3883
    added:
      bzrlib/foreign.py              foreign.py-20081112170002-olsxmandkk8qyfuq-1
      bzrlib/tests/test_foreign.py   test_foreign.py-20081125004048-ywb901edgp9lluxo-1
      contrib/convert_to_1.9.py      convert_to_dev2.py-20081014130524-z1ydl3mq9b4ehlvv-1
      tools/win32/build_release.py   build_release.py-20081105204355-2ghh5cv01v1x4rzz-1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/_patiencediff_c.c       _patiencediff_c.c-20070721205602-q3imkipwlgagp3cy-1
      bzrlib/_readdir_pyx.pyx        readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/branchbuilder.py        branchbuilder.py-20070427022007-zlxpqz2lannhk6y8-1
      bzrlib/btree_index.py          index.py-20080624222253-p0x5f92uyh5hw734-7
      bzrlib/bugtracker.py           bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/config.py               config.py-20051011043216-070c74f4e9e338e8
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
      bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/lockable_files.py       control_files.py-20051111201905-bb88546e799d669f
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/mutabletree.py          mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
      bzrlib/plugins/launchpad/account.py account.py-20071011033320-50y6vfftywf4yllw-1
      bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
      bzrlib/plugins/launchpad/test_account.py test_account.py-20071011033320-50y6vfftywf4yllw-2
      bzrlib/python-compat.h         pythoncompat.h-20080924041409-9kvi0fgtuuqp743j-1
      bzrlib/registry.py             lazy_factory.py-20060809213415-2gfvqadtvdn0phtg-1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/pack_repo.py    pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
      bzrlib/repofmt/weaverepo.py    presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/shelf_ui.py             shelver.py-20081005210102-33worgzwrtdw0yrm-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_breakin.py test_breakin.py-20070424043903-qyy6zm4pj3h4sbp3-1
      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_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/branch_implementations/__init__.py __init__.py-20060123013057-b12a52c3f361daf4
      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/branch_implementations/test_stacking.py test_stacking.py-20080214020755-msjlkb7urobwly0f-1
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/commands/test_commit.py test_commit.py-20070913161801-ydrx2k5gmv7k7eiu-1
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/interrepository_implementations/test_fetch.py test_fetch.py-20080425213627-j60cjh782ufm83ry-1
      bzrlib/tests/per_repository/test_add_fallback_repository.py test_add_fallback_re-20080215040003-8w9n4ck9uqdxj18m-1
      bzrlib/tests/per_repository/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/per_repository/test_revision.py testrevprops.py-20051013073044-92bc3c68302ce1bf
      bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
      bzrlib/tests/test_btree_index.py test_index.py-20080624222253-p0x5f92uyh5hw734-13
      bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
      bzrlib/tests/test_pack_repository.py test_pack_repository-20080801043947-eaw0e6h2gu75kwmy-1
      bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
      bzrlib/tests/test_remote.py    test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
      bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
      bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_shelf_ui.py  test_shelf_ui.py-20081027155203-wtcuazg85wp9u4fv-1
      bzrlib/tests/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/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/upgrade.py              history2weaves.py-20050818063535-e7d319791c19a8b2
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
      doc/developers/ppa.txt         ppa.txt-20080722055539-606u7t2z32t3ae4w-1
    ------------------------------------------------------------
    revno: 2929.3.23
    revision-id: v.ladeuil+lp at free.fr-20081209140128-0xcfq9duromiqq90
    parent: v.ladeuil+lp at free.fr-20081105145731-0uxtcdniyml13zla
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Tue 2008-12-09 15:01:28 +0100
    message:
      Update copyright.
    modified:
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
    ------------------------------------------------------------
    revno: 2929.3.22
    revision-id: v.ladeuil+lp at free.fr-20081105145731-0uxtcdniyml13zla
    parent: v.ladeuil+lp at free.fr-20081105144613-fieb0fl5jmx7zxmm
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Wed 2008-11-05 15:57:31 +0100
    message:
      Fix some cruft left after the previous merge. This branch was based on a
      first attempt to support python-2.6 which wsa then reworked before
      merging in bzr.dev. Merging from bzr.dev has made some early attempts
      resurface.
    modified:
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/per_repository/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
      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/tree_implementations/test_walkdirs.py test_walkdirs.py-20060729160421-gmjnkotqgxdh98ce-1
    ------------------------------------------------------------
    revno: 2929.3.21
    revision-id: v.ladeuil+lp at free.fr-20081105144613-fieb0fl5jmx7zxmm
    parent: v.ladeuil+lp at free.fr-20081105085310-5g6qakdggm4vkmmq
    parent: pqm at pqm.ubuntu.com-20081104203753-tr3wp885v5p7ccpc
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Wed 2008-11-05 15:46:13 +0100
    message:
      Merge bzr.dev, resolve conflicts.
      
      Check failing tests:
      
      - bug #225020 is back under a different ugly head. But I don't think it's
        worth working around it *again* given that: it's a bug in curl and
        fixed there (in 7.19, still need checking for 7.18.2 available in
        intrepid), occurs only in the test suite and only with
        python-2.7.0alpha0, I need a true python-2.6 (wip).
      
      - more problematic are the thread leaks, it seems that python-2.6 refuse
        to spawn more than 256 and the whole test suite hits that
        limit. Re-running failing tests with --starting-with succeeds.
      
      - some test_read_bundle tests fail with a curl connection error (server
        certificate verification failed) but they use the wrong CAfile (need
        investigaton, most probably a wrong setUp, we need to use a CAfile that
        knows about the test server).
    removed:
      bzrlib/plugins/multiparent.py  mpregen-20070411063203-5x9z7i73add0d6f6-1
      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/tests/interversionedfile_implementations/ interversionedfile_implementations-20060301230427-f1f3ca8ddd5ff482
      bzrlib/tests/interversionedfile_implementations/__init__.py __init__.py-20060302012326-981af525594d02ed
      bzrlib/tests/interversionedfile_implementations/test_join.py test_join.py-20060302012326-9b5e9b0f0a03fedc
      bzrlib/tests/revisionstore_implementations/ revisionstore_implementations-20060303020702-1d2e36b63cef2706
      bzrlib/tests/revisionstore_implementations/__init__.py __init__.py-20060303020702-976c4186a0f99edb
      bzrlib/tests/revisionstore_implementations/test_all.py test_all.py-20060303020702-9b2d4c1d75407f31
      bzrlib/tests/test_escaped_store.py test_escaped_store.py-20060216023929-6bcb9a067344959f
      bzrlib/xml6.py                 xml6.py-20060823042456-dbaaq4atrche7xy5-1
      index.txt                      index.txt-20071121073725-0corxykv5irjal00-1
      tools/win32/survey.txt         survey.txt-20070809075950-sf265mgu9oog8jjb-1
    added:
      bzrlib/_btree_serializer_c.pyx _parse_btree_c.pyx-20080703034413-3q25bklkenti3p8p-2
      bzrlib/_btree_serializer_py.py _parse_btree_py.py-20080703034413-3q25bklkenti3p8p-3
      bzrlib/_readdir_py.py          readdir.py-20060609152855-rm6v321vuaqyh9tu-3
      bzrlib/_readdir_pyx.pyx        readdir.pyx-20060609152855-rm6v321vuaqyh9tu-1
      bzrlib/_walkdirs_win32.pyx     _walkdirs_win32.pyx-20080716220454-kweh3tgxez5dvw2l-2
      bzrlib/btree_index.py          index.py-20080624222253-p0x5f92uyh5hw734-7
      bzrlib/chunk_writer.py         chunk_writer.py-20080630234519-6ggn4id17nipovny-1
      bzrlib/directory_service.py    directory_service.py-20080305221044-vr2mkvlsk8jypa2y-1
      bzrlib/help_topics/en/patterns.txt patterns.txt-20080625070357-wx8qm46a19ejwfns-1
      bzrlib/help_topics/en/rules.txt rules.txt-20080516063844-ghr5l6pvvrhiycun-1
      bzrlib/plugins/launchpad/test_lp_service.py test_lp_service.py-20080213034527-drf0ucr2x1js3onb-1
      bzrlib/push.py                 push.py-20080606021927-5fe39050e8xne9un-1
      bzrlib/python-compat.h         pythoncompat.h-20080924041409-9kvi0fgtuuqp743j-1
      bzrlib/readdir.h               readdir.h-20060609152855-rm6v321vuaqyh9tu-2
      bzrlib/rules.py                properties.py-20080506032617-9k06uqalkf09ck0z-1
      bzrlib/shelf.py                prepare_shelf.py-20081005181341-n74qe6gu1e65ad4v-1
      bzrlib/shelf_ui.py             shelver.py-20081005210102-33worgzwrtdw0yrm-1
      bzrlib/smart/message.py        message.py-20080222013625-ncqmh3nrxjkxab87-1
      bzrlib/smart/packrepository.py packrepository.py-20080527041253-a16a8qp4vy8qh8y6-1
      bzrlib/tests/blackbox/test_alias.py test_alias.py-20080425112253-fbt0yz1c1834jriz-1
      bzrlib/tests/blackbox/test_dump_btree.py test_dump_btree.py-20081008203335-zkpcq230b6vubszz-1
      bzrlib/tests/blackbox/test_hooks.py test_hooks.py-20080308163236-xljgf9j41hik1x21-1
      bzrlib/tests/blackbox/test_modified.py test_modified.py-20080424085848-nwqjenan4dq2vq3w-1
      bzrlib/tests/branch_implementations/test_check.py test_check.py-20080429151303-1sbfclxhddpz0tnj-1
      bzrlib/tests/branch_implementations/test_reconcile.py test_reconcile.py-20080429161555-qlmccuyeyt6pvho7-1
      bzrlib/tests/branch_implementations/test_stacking.py test_stacking.py-20080214020755-msjlkb7urobwly0f-1
      bzrlib/tests/fake_command.py   fake_command.py-20081021195002-r9v65tgxx63c25v9-1
      bzrlib/tests/file_utils.py     file_utils.py-20080506145406-a1h3ydg2lsh2iriy-1
      bzrlib/tests/interrepository_implementations/test_fetch.py test_fetch.py-20080425213627-j60cjh782ufm83ry-1
      bzrlib/tests/per_repository/test_add_fallback_repository.py test_add_fallback_re-20080215040003-8w9n4ck9uqdxj18m-1
      bzrlib/tests/per_repository/test_get_parent_map.py test_get_parent_map.-20080421172708-x1z6ot341osr0jq1-1
      bzrlib/tests/per_repository/test_has_revisions.py test_has_revisions.p-20080111035443-xaupgdsx5fw1q54b-1
      bzrlib/tests/per_repository_reference/ repository_external_-20080220025549-nnm2s80it1lvcwnc-1
      bzrlib/tests/per_repository_reference/__init__.py __init__.py-20080220025549-nnm2s80it1lvcwnc-2
      bzrlib/tests/per_repository_reference/test_add_inventory.py test_add_inventory.p-20080220025549-nnm2s80it1lvcwnc-3
      bzrlib/tests/per_repository_reference/test_add_revision.py test_add_revision.py-20080220034108-ao1u8qgakqbo5a08-1
      bzrlib/tests/per_repository_reference/test_add_signature_text.py test_add_signature_t-20080220041905-1j2g4lyz3c6h34v4-1
      bzrlib/tests/per_repository_reference/test_all_revision_ids.py test_all_revision_id-20080220041905-1j2g4lyz3c6h34v4-2
      bzrlib/tests/per_repository_reference/test_break_lock.py test_break_lock.py-20080220042825-1f48qmpnuqqp5wg2-1
      bzrlib/tests/per_repository_reference/test_check.py test_check.py-20080220044229-sxxe747gzi6q8fyv-1
      bzrlib/tests/test__walkdirs_win32.py test__walkdirs_win32-20080716220454-kweh3tgxez5dvw2l-3
      bzrlib/tests/test_btree_index.py test_index.py-20080624222253-p0x5f92uyh5hw734-13
      bzrlib/tests/test_chunk_writer.py test_chunk_writer.py-20080630234519-6ggn4id17nipovny-2
      bzrlib/tests/test_directory_service.py test_directory_servi-20080305221044-vr2mkvlsk8jypa2y-2
      bzrlib/tests/test_mutabletree.py test_mutabletree.py-20080405014429-2v0cdi3re320p8db-1
      bzrlib/tests/test_pack_repository.py test_pack_repository-20080801043947-eaw0e6h2gu75kwmy-1
      bzrlib/tests/test_rules.py     test_properties.py-20080506033501-3p9kmuob25dho8xl-1
      bzrlib/tests/test_shelf.py     test_prepare_shelf.p-20081005181341-n74qe6gu1e65ad4v-2
      bzrlib/tests/test_shelf_ui.py  test_shelf_ui.py-20081027155203-wtcuazg85wp9u4fv-1
      bzrlib/tests/test_transport_log.py test_transport_log.p-20080902041816-vh8x5yt5nvdzvew3-3
      bzrlib/tests/test_uncommit.py  test_uncommit.py-20080316104338-y3gxu67g5m2qih10-1
      bzrlib/tests/test_upgrade_stacked.py test_upgrade_stacked-20080804072225-jd13yami19nskns5-1
      bzrlib/tests/tree_implementations/test_annotate_iter.py test_annotate_iter.p-20080315092519-h4dc43rntmfmq16d-1
      bzrlib/tests/tree_implementations/test_iter_search_rules.py test_iter_search_rul-20080528065532-1ml1ttb12az20cxf-1
      bzrlib/tests/workingtree_implementations/test_get_file_with_stat.py test_get_file_with_s-20080922035909-lhdovrr36jpxmu0v-1
      bzrlib/transport/ftp/          ftp-20080611185801-3vm145h8dmnfgh25-1
      bzrlib/transport/ftp/_gssapi.py _gssapi.py-20080611190840-7ejrtp884bk5eu72-2
      bzrlib/transport/log.py        log.py-20080902041816-vh8x5yt5nvdzvew3-5
      bzrlib/transport/nosmart.py    nosmart.py-20080402095843-6ib17idympwy1zkr-1
      bzrlib/xml5.py                 xml5.py-20080328030717-t9guwinq8hom0ar3-1
      bzrlib/xml6.py                 xml6.py-20080327235607-1skmbg4o9cd1o636-1
      contrib/bash/bzrbashprompt.sh  bzrbashprompt.sh-20080414112733-b78chl4ubylc6775-1
      contrib/bzr_access             bzr_access-20071210163004-c9lb1renhra2ncg0-1
      contrib/bzr_ssh_path_limiter   bzr_ssh_path_limiter-20081030010544-xjhl0y2i6wyloz8q-1
      doc/developers/btree_index_prefetch.txt btree_index_request_-20081004155340-2u6apsy53f43f0xn-1
      doc/developers/cycle.txt       cycle.txt-20081017031739-rw24r0cywm2ok3xu-1
      doc/developers/development-repo.txt developmentrepo.txt-20080102200205-raj42k61dch8pjmj-1
      doc/developers/integration.txt integration.txt-20080404022341-2lorxocp1in07zij-1
      doc/developers/inventory.txt   inventory.txt-20080103013957-opkrhxy6lmywmx4i-1
      doc/developers/lca_tree_merging.txt lca_merge_resolution-20080731173903-8ku77uz7o6smd3jj-1
      doc/developers/overview.txt    overview.txt-20080904022501-ww2ggomrs5elxfm0-1
      doc/developers/plugin-api.txt  pluginapi.txt-20080229110225-q2j5y4agqhlkjn0s-1
      doc/developers/ppa.txt         ppa.txt-20080722055539-606u7t2z32t3ae4w-1
      doc/developers/releasing.txt   releasing.txt-20080502015919-fnrcav8fwy8ccibu-1
      doc/developers/repository-stream.txt repositorystream.txt-20080410222511-nh6b9bvscvcerh48-1
      doc/developers/testing.txt     testing.txt-20080812140359-i70zzh6v2z7grqex-1
      doc/developers/tortoise-strategy.txt tortoisestrategy.txt-20080403024510-2ahdqrvnwqrb5p5t-1
      doc/en/admin-guide/            docenadminguide-20080305135054-y7y2c986yf94zljn-1
      doc/en/admin-guide/index.txt   index.txt-20080305140741-ecw0lap8dxkxc05g-1
      doc/en/user-guide/bzrtools_plugin.txt bzrtools_plugin.txt-20080509065016-cjc90f46407vi9a0-1
      doc/en/user-guide/stacked.txt  stacked.txt-20080711023247-4uh9oovoka0sze8b-1
      doc/en/user-guide/svn_plugin.txt svn_plugin.txt-20080509065016-cjc90f46407vi9a0-2
      doc/en/user-guide/web_browsing.txt web_browsing.txt-20080509065016-cjc90f46407vi9a0-3
      doc/en/user-guide/zen.txt      revnos.txt-20080111231928-pbntxea0ynh9ww1t-1
      doc/es/                        es-20080504181154-x2fm3oprvjohiz7n-1
      doc/es/guia-desarrollador/     guiadesarrollador-20080504181514-qlh50dq1mj769bic-1
      doc/es/guia-usuario/           guiausuario-20080504181514-qlh50dq1mj769bic-2
      doc/es/guia-usuario/index.txt  index.txt-20080512005856-hgdxkh9xo58n7zdp-2
      doc/es/guia-usuario/resolving_conflicts.txt conflicts.txt-20080504181626-aqnzjwfhpju5ypfe-1
      doc/es/guia-usuario/version_info.txt version_info.txt-20080504181730-u24nugzokrcrk1bf-1
      doc/es/mini-tutorial/          minitutorial-20080504181514-qlh50dq1mj769bic-3
      doc/es/mini-tutorial/index.txt index.txt-20080504182136-wmoc35u2t6kom8ca-1
      doc/es/notas-version/          notasversion-20080504181514-qlh50dq1mj769bic-4
      doc/es/referencia/             referencia-20080504181514-qlh50dq1mj769bic-5
      doc/es/referencia-rapida/      referenciarapida-20080504181514-qlh50dq1mj769bic-6
      doc/es/referencia-rapida/Makefile makefile-20080506002609-y60mr4avuqwzlf4s-1
      doc/es/referencia-rapida/referencia-rapida.svg referenciarapida.svg-20080506002609-y60mr4avuqwzlf4s-2
      doc/index.es.txt               index.es.txt-20080506002113-aunzdhptcoc0h6hm-1
      tools/package_mf.py            package_mf.py-20080206141953-323gd0qb2z3tn5pc-1
      tools/packaging/               packaging-20080825202834-3j433iaawnt72wqa-1
      tools/packaging/build-packages.sh buildpackages.sh-20080821102059-fzlodktas65qmo1k-1
      tools/packaging/lp-upload-release lpuploadrelease-20081020075647-56zdf9z6yav1bx81-1
      tools/packaging/update-changelogs.sh updatechangelogs.sh-20080821102059-fzlodktas65qmo1k-2
      tools/packaging/update-packaging-branches.sh updatepackagingbranc-20080825210254-6is8ciit1yzyd3a2-1
      tools/win32/run_script.py      run_script.py-20080717003927-k6itvarbtnwk44o9-1
    renamed:
      bzrlib/plugins/launchpad/lp_indirect.py => bzrlib/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
      bzrlib/plugins/launchpad/test_lp_indirect.py => bzrlib/plugins/launchpad/test_lp_directory.py test_lp_indirect.py-20070126002743-oyle362tzv9cd8mi-1
      bzrlib/tests/repository_implementations => bzrlib/tests/per_repository repository_implementations-20060131092037-ec97814745cc6128
      bzrlib/tests/test_revisionnamespaces.py => bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
      bzrlib/transport/ftp.py => bzrlib/transport/ftp/__init__.py ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/xml5.py => bzrlib/xml8.py xml5.py-20050907032657-aac8f960815b66b1
      doc/en/user-guide/best_practice_intro.txt => doc/en/user-guide/part2_intro.txt best_practice_intro.-20071123154453-dk2mjhrg1vpjm5w2-1
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      README                         README-20050309040720-8f368abf9f346b9d
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzr.ico                        bzr.ico-20060629083000-q18ip0hk7lq55i4y-1
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      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/_knit_load_data_py.py   _knit_load_data_py.p-20070629000948-9a0nh4s118bi5y8n-1
      bzrlib/_patiencediff_c.c       _patiencediff_c.c-20070721205602-q3imkipwlgagp3cy-1
      bzrlib/_patiencediff_py.py     cdvdifflib.py-20051106064558-f8f8097fbf0db4e4
      bzrlib/add.py                  add.py-20050323030017-3a77d63feda58e33
      bzrlib/annotate.py             annotate.py-20050922133147-7c60541d2614f022
      bzrlib/api.py                  api.py-20070626082640-35lspz7j0ys7a8ld-1
      bzrlib/atomicfile.py           atomicfile.py-20050509044450-dbd24e6c564f7c66
      bzrlib/benchmarks/bench_bundle.py bench_bundle.py-20060719055338-o1c6ieybbwt6c3zv-1
      bzrlib/benchmarks/bench_osutils.py bench_osutils.py-20060608153714-apso8cyz1bu2z1ig-1
      bzrlib/benchmarks/tree_creator/kernel_like.py kernel_like.py-20060815024128-b16a7pn542u6b13k-1
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/branchbuilder.py        branchbuilder.py-20070427022007-zlxpqz2lannhk6y8-1
      bzrlib/bugtracker.py           bugtracker.py-20070410073305-vu1vu1qosjurg8kb-1
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/__init__.py      changeset.py-20050513021216-b02ab57fb9738913
      bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
      bzrlib/bundle/commands.py      __init__.py-20050617152058-1b6530d9ab85c11c
      bzrlib/bundle/serializer/v08.py v06.py-20051119041339-ee43f97270b01823
      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/counted_lock.py         counted_lock.py-20070502135927-7dk86io3ok7ctx6k-1
      bzrlib/debug.py                debug.py-20061102062349-vdhrw9qdpck8cl35-1
      bzrlib/decorators.py           decorators.py-20060112082512-6bfc2d882df1698d
      bzrlib/delta.py                delta.py-20050729221636-54cf14ef94783d0a
      bzrlib/deprecated_graph.py     graph.py-20050905070950-b47dce53236c5e48
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
      bzrlib/doc/__init__.py         __init__.py-20051224020731-eb3eb3ef5b4570df
      bzrlib/doc/api/__init__.py     __init__.py-20051224020744-7b87d590843855bc
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/export/__init__.py      __init__.py-20051114235828-1ba62cb4062304e6
      bzrlib/export/dir_exporter.py  dir_exporter.py-20051114235828-b51397f56bc7b117
      bzrlib/export/tar_exporter.py  tar_exporter.py-20051114235828-1f6349a2f090a5d0
      bzrlib/export/zip_exporter.py  zip_exporter.py-20051114235828-8f57f954fba6497e
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/globbing.py             glob.py-20061113075651-q63o2v35fm2ydk9x-1
      bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
      bzrlib/hashcache.py            hashcache.py-20050706091756-fe3a8cc1143ff24f
      bzrlib/help.py                 help.py-20050505025907-4dd7a6d63912f894
      bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-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
      bzrlib/hooks.py                hooks.py-20070325015548-ix4np2q0kd8452au-1
      bzrlib/ignores.py              ignores.py-20060712153832-2von9l0t7p43ixsv-1
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
      bzrlib/intset.py               intset.py-20050717175247-81cd658f9aaa2731
      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/lazy_regex.py           lazy_regex.py-20061009091222-fyettq6z5qomdl9e-1
      bzrlib/lock.py                 lock.py-20050527050856-ec090bb51bc03349
      bzrlib/lockable_files.py       control_files.py-20051111201905-bb88546e799d669f
      bzrlib/lockdir.py              lockdir.py-20060220222025-98258adf27fbdda3
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/lru_cache.py            lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
      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/merge3.py               merge3.py-20050704130834-bf0597094828a2e1
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
      bzrlib/mutabletree.py          mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/patches.py              patches.py-20050727183609-378c1cc5972ce908
      bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
      bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
      bzrlib/plugins/launchpad/account.py account.py-20071011033320-50y6vfftywf4yllw-1
      bzrlib/plugins/launchpad/lp_registration.py lp_registration.py-20060315190948-daa617eafe3a8d48
      bzrlib/plugins/launchpad/test_account.py test_account.py-20071011033320-50y6vfftywf4yllw-2
      bzrlib/plugins/launchpad/test_register.py test_register.py-20060315182712-40f5dda945c829a8
      bzrlib/progress.py             progress.py-20050610070202-df9faaab791964c0
      bzrlib/reconcile.py            reweave_inventory.py-20051108164726-1e5e0934febac06e
      bzrlib/reconfigure.py          reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
      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/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/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/revisiontree.py         revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
      bzrlib/rio.py                  rio.py-20051128032247-770b120b34dfff60
      bzrlib/smart/branch.py         branch.py-20061124031907-mzh3pla28r83r97f-1
      bzrlib/smart/bzrdir.py         bzrdir.py-20061122024551-ol0l0o0oofsu9b3t-1
      bzrlib/smart/client.py         client.py-20061116014825-2k6ada6xgulslami-1
      bzrlib/smart/medium.py         medium.py-20061103051856-rgu2huy59fkz902q-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/smart/server.py         server.py-20061110062051-chzu10y32vx8gvur-1
      bzrlib/smart/vfs.py            vfs.py-20061108095550-gunadhxmzkdjfeek-2
      bzrlib/status.py               status.py-20050505062338-431bfa63ec9b19e6
      bzrlib/store/__init__.py       store.py-20050309040759-164dc5173d6406c2
      bzrlib/store/text.py           text.py-20050928201105-c26468dcb5d9b18b
      bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
      bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
      bzrlib/tag.py                  tag.py-20070212110532-91cw79inah2cfozx-1
      bzrlib/testament.py            testament.py-20051011100429-6d319a18183b13c8
      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_added.py test_added.py-20060119085008-6b8b90369d42a26c
      bzrlib/tests/blackbox/test_annotate.py testannotate.py-20051013044000-457f44801bfa9d39
      bzrlib/tests/blackbox/test_bound_branches.py test_bound_branches.py-20051109215527-2373188ad566c205
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
      bzrlib/tests/blackbox/test_bundle_info.py test_bundle_info.py-20070816181255-eiuodwxuqu7w7gxf-1
      bzrlib/tests/blackbox/test_cat_revision.py test_cat_revision.py-20070410204634-fq8mnld5l5aza9e2-1
      bzrlib/tests/blackbox/test_check.py test_check.py-20071024054728-mn44rt3z5hnqcbke-1
      bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
      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_diff.py test_diff.py-20060110203741-aa99ac93e633d971
      bzrlib/tests/blackbox/test_export.py test_export.py-20051229024010-e6c26658e460fb1c
      bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
      bzrlib/tests/blackbox/test_init.py test_init.py-20060309032856-a292116204d86eb7
      bzrlib/tests/blackbox/test_locale.py test_lang.py-20060824204205-80v50j25qkuop7yn-1
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/blackbox/test_ls.py test_ls.py-20060712232047-0jraqpecwngee12y-1
      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_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
      bzrlib/tests/blackbox/test_nick.py test_nick.py-20061105141046-p7zovcsit44uj4w9-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_pull.py test_pull.py-20051201144907-64959364f629947f
      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_remove_tree.py test_remove_tree.py-20061110192919-5j3xjciiaqbs2dvo-1
      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_serve.py test_serve.py-20060913064329-8t2pvmsikl4s3xhl-1
      bzrlib/tests/blackbox/test_shared_repository.py test_shared_repository.py-20060317053531-ed30c0d79325e483
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/blackbox/test_switch.py test_switch.py-20071122111948-0c5en6uz92bwl76h-1
      bzrlib/tests/blackbox/test_uncommit.py test_uncommit.py-20051027212835-84944b63adae51be
      bzrlib/tests/blackbox/test_unknowns.py test_unknowns.py-20070905015344-74tg6s1synijo2oe-1
      bzrlib/tests/blackbox/test_upgrade.py test_upgrade.py-20060120060132-b41e5ed2f886ad28
      bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
      bzrlib/tests/blackbox/test_version_info.py test_bb_version_info.py-20051228204928-91711c6559d952f7
      bzrlib/tests/branch_implementations/__init__.py __init__.py-20060123013057-b12a52c3f361daf4
      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_commit.py test_commit.py-20070206022134-117z1i5b644p63r0-1
      bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
      bzrlib/tests/branch_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-4
      bzrlib/tests/branch_implementations/test_permissions.py test_permissions.py-20060210110243-245c01403bf0fde6
      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_revision_history.py test_revision_histor-20070326062311-v7co92liyuchb80w-1
      bzrlib/tests/branch_implementations/test_uncommit.py test_uncommit.py-20070205180410-ge7058d9138mvq3x-1
      bzrlib/tests/branch_implementations/test_update.py test_update.py-20060305010612-e68efbcbb1baa69f
      bzrlib/tests/bzrdir_implementations/__init__.py __init__.py-20060131065642-34c39b54f42dd048
      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_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_push.py test_push.py-20070525122003-gc1ob0ea0nueoqgj-1
      bzrlib/tests/ftp_server.py     ftpserver.py-20071019102346-61jbvdkrr70igauv-1
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/http_utils.py     HTTPTestUtil.py-20050914180604-247d3aafb7a43343
      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/__init__.py __init__.py-20060724101752-09ysswo1a92uqyoz-3
      bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
      bzrlib/tests/inventory_implementations/__init__.py __init__.py-20070821044532-olbadbokgv3qv1yd-1
      bzrlib/tests/inventory_implementations/basics.py basics.py-20070903044446-kdjwbiu1p1zi9phs-1
      bzrlib/tests/per_lock/__init__.py __init__.py-20070314201444-u92yjsqrkh2m3qcb-1
      bzrlib/tests/per_repository/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/per_repository/helpers.py helpers.py-20070924032407-m460yl9j5gu5ju85-2
      bzrlib/tests/per_repository/test__generate_text_key_index.py test__generate_text_-20071114232121-00h9fd8qg8kjfa5k-1
      bzrlib/tests/per_repository/test_break_lock.py test_break_lock.py-20060504111704-ee09a107f9f42e43
      bzrlib/tests/per_repository/test_check.py test_check.py-20070824124512-38g4d135gcqxo4zb-1
      bzrlib/tests/per_repository/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
      bzrlib/tests/per_repository/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/per_repository/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
      bzrlib/tests/per_repository/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
      bzrlib/tests/per_repository/test_find_text_key_references.py test_find_text_key_r-20071114033605-v73bakal8x77qlfi-1
      bzrlib/tests/per_repository/test_has_same_location.py test_has_same_locati-20070807074648-2i2ah82fbe83iys7-1
      bzrlib/tests/per_repository/test_is_write_locked.py test_is_write_locked-20071012063748-vk062lmu683qgbc3-1
      bzrlib/tests/per_repository/test_iter_reverse_revision_history.py test_iter_reverse_re-20070217015036-spu7j5ggch7pbpyd-1
      bzrlib/tests/per_repository/test_pack.py test_pack.py-20070712120702-0c7585lh56p894mo-2
      bzrlib/tests/per_repository/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
      bzrlib/tests/per_repository/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/per_repository/test_revision.py testrevprops.py-20051013073044-92bc3c68302ce1bf
      bzrlib/tests/per_repository/test_statistics.py test_statistics.py-20070203082432-6738e8fl0mm7ikre-1
      bzrlib/tests/per_repository/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
      bzrlib/tests/stub_sftp.py      stub_sftp.py-20051027032739-0e7ef4f7bab0e174
      bzrlib/tests/test__dirstate_helpers.py test_dirstate_helper-20070504035751-jsbn00xodv0y1eve-2
      bzrlib/tests/test_ancestry.py  test_ancestry.py-20050913023709-69768e94848312c6
      bzrlib/tests/test_annotate.py  test_annotate.py-20061213215015-sttc9agsxomls7q0-1
      bzrlib/tests/test_api.py       testapi.py-20051027033546-6f9be2d308d18a52
      bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
      bzrlib/tests/test_branchbuilder.py test_branchbuilder.p-20070427022007-zlxpqz2lannhk6y8-2
      bzrlib/tests/test_bugtracker.py test_bugtracker.py-20070410073305-vu1vu1qosjurg8kb-2
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_commands.py  test_command.py-20051019190109-3b17be0f52eaa7a8
      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_counted_lock.py test_counted_lock.py-20070502135927-7dk86io3ok7ctx6k-2
      bzrlib/tests/test_decorators.py test_decorators.py-20060113063037-0e7bd4566758f4fa
      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_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_globbing.py  test_glob.py-20061113075651-q63o2v35fm2ydk9x-2
      bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
      bzrlib/tests/test_hooks.py     test_hooks.py-20070628030849-89rtsbe5dmer5npz-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_ignores.py   test_ignores.py-20060712172354-vqq9ln0t8di27v53-1
      bzrlib/tests/test_index.py     test_index.py-20070712131115-lolkarso50vjr64s-2
      bzrlib/tests/test_info.py      test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_lazy_import.py test_lazy_import.py-20060910203832-f77c54gf3n232za0-2
      bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
      bzrlib/tests/test_lockdir.py   test_lockdir.py-20060220222025-33d4221569a3d600
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
      bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
      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_merge3.py    merge3.py-20050704130834-556689114c89e6f2
      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_missing.py   test_missing.py-20051212000028-694fa4f658a81f48
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
      bzrlib/tests/test_nonascii.py  testnonascii.py-20051018022645-ea1d8b6477b058a6
      bzrlib/tests/test_options.py   testoptions.py-20051014093702-96457cfc86319a8f
      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_patches.py   test_patches.py-20051231203844-f4974d20f6aea09c
      bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
      bzrlib/tests/test_progress.py  test_progress.py-20060308160359-978c397bc79b7fda
      bzrlib/tests/test_read_bundle.py test_read_bundle.py-20060615211421-ud8cwr1ulgd914zf-1
      bzrlib/tests/test_reconcile.py test_reconcile.py-20060225054842-50aa618584a86f26
      bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
      bzrlib/tests/test_registry.py  test_lazy_factory.py-20060809213415-2gfvqadtvdn0phtg-2
      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_revisiontree.py test_revisiontree.py-20060615095324-aij44ndxbv1h4c9f-1
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_setup.py     test_setup.py-20051208073730-4a59a6368c4efa04
      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_source.py    test_source.py-20051207061333-a58dea6abecc030d
      bzrlib/tests/test_ssh_transport.py test_ssh_transport.p-20070105153201-f7iq2bosvgjbdgc3-1
      bzrlib/tests/test_status.py    test_status.py-20060516190614-fbf6432e4a6e8aa5
      bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
      bzrlib/tests/test_strace.py    test_strace.py-20070323001526-6zquhhw8leb9m6j8-2
      bzrlib/tests/test_subsume.py   test_subsume.py-20060927040024-tsvh4pchajoayymg-1
      bzrlib/tests/test_switch.py    test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
      bzrlib/tests/test_symbol_versioning.py test_symbol_versioning.py-20060105104851-51d7722c2018d42b
      bzrlib/tests/test_testament.py testtestament.py-20051011100429-5df1657310caa929
      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_tree.py      test_tree.py-20060724065232-khgrr0vvmt6ih0mi-1
      bzrlib/tests/test_tsort.py     testtsort.py-20051025073946-27da871c394d5be4
      bzrlib/tests/test_upgrade.py   test_upgrade.py-20051004040251-555fe1d2bae1bc71
      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_weave.py     testknit.py-20050627023648-9833cc5562ffb785
      bzrlib/tests/test_whitebox.py  whitebox.py-20050530064534-a063aafb4a0a3a04
      bzrlib/tests/test_win32utils.py test_win32utils.py-20070713181630-8xsrjymd3e8mgw23-108
      bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
      bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
      bzrlib/tests/test_wsgi.py      test_wsgi.py-20061005091552-rz8pva0olkxv0sd8-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/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
      bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
      bzrlib/tests/tree_implementations/test_walkdirs.py test_walkdirs.py-20060729160421-gmjnkotqgxdh98ce-1
      bzrlib/tests/treeshape.py      treeshape.py-20051004094628-312a98f0194306a8
      bzrlib/tests/workingtree_implementations/__init__.py __init__.py-20060203003124-b2aa5aca21a8bfad
      bzrlib/tests/workingtree_implementations/test_add_reference.py test_add_reference.p-20061211024451-yo9i1691dgbv1eyn-1
      bzrlib/tests/workingtree_implementations/test_basis_inventory.py test_basis_inventory.py-20051218151655-3650468941091309
      bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
      bzrlib/tests/workingtree_implementations/test_inv.py test_inv.py-20070311221604-ighlq8tbn5xq0kuo-1
      bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
      bzrlib/tests/workingtree_implementations/test_merge_from_branch.py test_merge_from_bran-20060904034200-12jxyk2zlhpufxe1-1
      bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
      bzrlib/tests/workingtree_implementations/test_remove.py test_remove.py-20070413183901-rvnp85rtc0q0sclp-1
      bzrlib/tests/workingtree_implementations/test_rename_one.py test_rename_one.py-20070226161242-2d8ibdedl700jgio-1
      bzrlib/tests/workingtree_implementations/test_set_root_id.py test_set_root_id.py-20061004073850-0r1c7qikmnkb8m9k-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/textinv.py              textinv.py-20050411024435-e3898231b7d1897b26c38878
      bzrlib/textui.py               textui.py-20050309040759-5d0cebe09c528e7d
      bzrlib/timestamp.py            timestamp.py-20070306142322-ttbb9oulf3jotljd-1
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
      bzrlib/transactions.py         transactions.py-20051007010900-f1313d53cf58e223
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/chroot.py     chroot.py-20061011104729-0us9mgm97z378vnt-1
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      bzrlib/transport/fakenfs.py    fakenfs.py-20060402223312-0e29c7275aa384dd
      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/http/wsgi.py  wsgi.py-20061005091552-rz8pva0olkxv0sd8-2
      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/transport/ssh.py        ssh.py-20060824042150-0s9787kng6zv1nwq-1
      bzrlib/transport/trace.py      trace.py-20070828055009-7kt0bbc4t4b92apz-1
      bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
      bzrlib/treebuilder.py          treebuilder.py-20060907214856-4omn6hf1u7fvrart-1
      bzrlib/tsort.py                tsort.py-20051025073946-7808f6aaf7d07208
      bzrlib/tuned_gzip.py           tuned_gzip.py-20060407014720-5aadc518e928e8d2
      bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
      bzrlib/uncommit.py             uncommit.py-20050626215513-5ec509fa425b305c
      bzrlib/upgrade.py              history2weaves.py-20050818063535-e7d319791c19a8b2
      bzrlib/urlutils.py             urlutils.py-20060502195429-e8a161ecf8fac004
      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.py              version.py-20060816024207-ves6ult9a11taj9t-1
      bzrlib/version_info_formats/__init__.py generate_version_info.py-20051228204928-8358edabcddcd97e
      bzrlib/version_info_formats/format_custom.py format_custom.py-20071029100350-ajovqhbpb5khf6gu-1
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
      bzrlib/weave_commands.py       weave_commands.py-20060320231507-8e9f300bffc1aa19
      bzrlib/weavefile.py            weavefile.py-20050629135233-2ffe0200f103f6c2
      bzrlib/win32utils.py           win32console.py-20051021033308-123c6c929d04973d
      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/xml_serializer.py       xml.py-20050309040759-57d51586fdec365d
      doc/default.css                default.css-20060622101119-tgwtdci8z769bjb9-1
      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/lca-merge.txt   lcamerge.txt-20080103061803-9isydn4ivgwrvorw-1
      doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-1
      doc/developers/repository.txt  repository.txt-20070709152006-xkhlek456eclha4u-1
      doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
      doc/en/tutorials/using_bazaar_with_launchpad.txt using_bazaar_with_lp-20071211073140-7msh8uf9a9h4y9hb-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/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/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/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/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/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/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/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/sending_changes.txt sending_changes.txt-20071123154453-dk2mjhrg1vpjm5w2-4
      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/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
      doc/en/user-guide/writing_a_plugin.txt writing_a_plugin.txt-20071114035000-q36a9h57ps06uvnl-7
      doc/index.txt                  index.txt-20070813101924-07gd9i9d2jt124bf-1
      profile_imports.py             profile_imports.py-20060618020306-k5uw80achysrokj9-1
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
      tools/doc_generate/autodoc_man.py bzrman.py-20050601153041-0ff7f74de456d15e
      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/plugins/launchpad/lp_directory.py lp_indirect.py-20070126012204-de5rugwlt22c7u7e-1
      bzrlib/plugins/launchpad/test_lp_directory.py test_lp_indirect.py-20070126002743-oyle362tzv9cd8mi-1
      bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
      bzrlib/transport/ftp/__init__.py ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/xml8.py                 xml5.py-20050907032657-aac8f960815b66b1
      doc/en/user-guide/part2_intro.txt best_practice_intro.-20071123154453-dk2mjhrg1vpjm5w2-1
    ------------------------------------------------------------
    revno: 2929.3.20
    revision-id: v.ladeuil+lp at free.fr-20081105085310-5g6qakdggm4vkmmq
    parent: v.ladeuil+lp at free.fr-20080105221904-185q2vl2hjbeul3d
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Wed 2008-11-05 09:53:10 +0100
    message:
      Commit long standing modifications before merging bzr.dev.
      
      * bzrlib/transport/http/_pycurl.py:
      (PyCurlTransport._set_curl_options): Enable peer verification
      again.
      (get_test_permutations): Add a permutation against an https test
      server if available.
      
      * bzrlib/tests/ssl_certs/__init__.py: 
      Not a script anymore, update copyright.
      
      * bzrlib/errors.py: 
      Delete unused import.
    modified:
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/tests/ssl_certs/__init__.py __init__.py-20071124141703-j5hr254lm287lyut-8
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
    ------------------------------------------------------------
    revno: 2929.3.19
    revision-id: v.ladeuil+lp at free.fr-20080105221904-185q2vl2hjbeul3d
    parent: v.ladeuil+lp at free.fr-20080105220947-t2kymulzeqf1g5n5
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sat 2008-01-05 23:19:04 +0100
    message:
      Fix 1.1 related bugs in HTTP server, add HTTPS passing tests (by temporarily disabling pycurl certificate verification).
      
      * doc/developers/authentication-ring.txt
      (verify_certificates): Fix typo, obviously only apply to HTTPS 
      
      * bzrlib/transport/http/ca_bundle.py:
      (get_ca_path): Fix too long lines.
      
      * bzrlib/transport/http/_pycurl.py:
      (CURLE_SSL_CACERT): New error code.
      (PyCurlTransport._set_curl_options): Temporarily disable peer
      verification to make tests pass.
      (PyCurlTransport._curl_perform): Catch CURLE_SSL_CACERT as a
      connection error.
      (get_test_permutations): Add HTTPS tests.
      
      * bzrlib/tests/https_server.py:
      (TestingHTTPSServer, TestingThreadingHTTPSServer): HTTPS test
      servers.
      (HTTPSServer_PyCurl): New class for pycurl HTTPS test server.
      
      * bzrlib/tests/http_server.py:
      (TestingHTTPRequestHandler.send_error): Overrides python version
      since we need to specify a Content-Length.
      (TestingHTTPRequestHandler.get_multiple_ranges): Sabotage !
      Off-by-one error caused a buggy comment ! Went unnoticed until
      pycurl+https hang.
      (HttpServer.create_httpd): Allow server creation overriding.
    modified:
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/ca_bundle.py ca_bundle.py-20070226091335-84kb1xg1r2jjf858-1
      doc/developers/authentication-ring.txt authring.txt-20070718200437-q5tdik0ne6lor86d-1
    ------------------------------------------------------------
    revno: 2929.3.18
    revision-id: v.ladeuil+lp at free.fr-20080105220947-t2kymulzeqf1g5n5
    parent: v.ladeuil+lp at free.fr-20080103114952-zh53dvzpgcpc4epp
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sat 2008-01-05 23:09:47 +0100
    message:
      Fix the server name in script and ssl files.
      
      * bzrlib/tests/ssl_certs/create_ssls.py:
      (ssl_params): We use localhost, not 127.0.0.1.
      
      * bzrlib/tests/ssl_certs/server_without_pass.key,
      bzrlib/tests/ssl_certs/server_with_pass.key,
      bzrlib/tests/ssl_certs/server.csr,
      bzrlib/tests/ssl_certs/server.crt:
      Re-generated since the server name was wrong.
    modified:
      bzrlib/tests/ssl_certs/create_ssls.py create_ssls.py-20071124141703-j5hr254lm287lyut-5
      bzrlib/tests/ssl_certs/server.crt server.crt-20071124141703-j5hr254lm287lyut-4
      bzrlib/tests/ssl_certs/server.csr server.csr-20071124141703-j5hr254lm287lyut-3
      bzrlib/tests/ssl_certs/server_with_pass.key server_with_pass.key-20071124141703-j5hr254lm287lyut-2
      bzrlib/tests/ssl_certs/server_without_pass.key server_without_pass.-20071124141703-j5hr254lm287lyut-1
    ------------------------------------------------------------
    revno: 2929.3.17
    revision-id: v.ladeuil+lp at free.fr-20080103114952-zh53dvzpgcpc4epp
    parent: v.ladeuil+lp at free.fr-20071209180014-hig14lbi1rap06qu
    parent: pqm at pqm.ubuntu.com-20080103103822-fj2udnviy9ilfsst
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Thu 2008-01-03 12:49:52 +0100
    message:
      merge 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/tests/test_http_implementations.py test_http_implementa-20071218210003-65nh81gglcfvurw6-1
      bzrlib/version_info_formats/format_custom.py format_custom.py-20071029100350-ajovqhbpb5khf6gu-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-guide/adv_merging.txt adv_merging.txt-20071213070245-d7u7150lb2hhnvby-1
      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/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
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      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/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      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/lockable_files.py       control_files.py-20051111201905-bb88546e799d669f
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      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/smart/medium.py         medium.py-20061103051856-rgu2huy59fkz902q-1
      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_bound_branches.py test_bound_branches.py-20051109215527-2373188ad566c205
      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_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_uncommit.py test_uncommit.py-20051027212835-84944b63adae51be
      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_parent.py test_parent.py-20050830052751-5e62766623c32222
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/http_utils.py     HTTPTestUtil.py-20050914180604-247d3aafb7a43343
      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_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
      bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
      bzrlib/tests/test_extract.py   test_extract.py-20061002214140-qdnnm67q1ov6x6pd-1
      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_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_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
      bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
      bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
      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_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_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/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/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
      doc/developers/index.txt       index.txt-20070508041241-qznziunkg0nffhiw-1
      doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
      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/core_concepts.txt core_concepts.txt-20071114035000-q36a9h57ps06uvnl-2
      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/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/plugins.txt  plugins.txt-20060314145616-525099a747f3ffdd
      doc/en/user-guide/publishing_a_branch.txt publishing_a_branch.-20071123055134-k5x4ekduci2lbn36-2
      doc/en/user-guide/reusing_a_checkout.txt reusing_a_checkout.t-20071123055134-k5x4ekduci2lbn36-3
      doc/en/user-guide/sending_changes.txt sending_changes.txt-20071123154453-dk2mjhrg1vpjm5w2-4
      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/specifying_revisions.txt specifying_revisions.txt-20060314161707-19deb139101bea33
      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/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: 2929.3.16
    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.3.15
    revision-id: v.ladeuil+lp at free.fr-20071209172804-t9v272m2woycdruo
    parent: v.ladeuil+lp at free.fr-20071209171250-s16n2z0qk9caqall
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sun 2007-12-09 18:28:04 +0100
    message:
      Fix typo
    modified:
      bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
    ------------------------------------------------------------
    revno: 2929.3.14
    revision-id: v.ladeuil+lp at free.fr-20071209171250-s16n2z0qk9caqall
    parent: v.ladeuil+lp at free.fr-20071125140534-g4f5b3mrfksjz2gx
    parent: pqm at pqm.ubuntu.com-20071207083421-7uxzmxup5kpl4w9r
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sun 2007-12-09 18:12:50 +0100
    message:
      Merge bzr.dev
    added:
      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_switch.py    test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
      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/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
    renamed:
      doc/developers/knitpack.txt => doc/developers/packrepo.txt knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
      doc/en/user-guide/centralized_workflow.txt => doc/en/tutorials/centralized_workflow.txt centralized_workflow-20060830194948-kspf52565xvgrlil-1
      doc/en/user-guide/tutorial.txt => doc/en/tutorials/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
    modified:
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      README                         README-20050309040720-8f368abf9f346b9d
      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/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/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/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/lru_cache.py            lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
      bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      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/test_lp_indirect.py test_lp_indirect.py-20070126002743-oyle362tzv9cd8mi-1
      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/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_commit.py test_commit.py-20060212094538-ae88fc861d969db0
      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_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_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_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/ftp_server.py     ftpserver.py-20071019102346-61jbvdkrr70igauv-1
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/http_utils.py     HTTPTestUtil.py-20050914180604-247d3aafb7a43343
      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_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_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/tests/test_info.py      test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
      bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
      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_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_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-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_upgrade.py   test_upgrade.py-20051004040251-555fe1d2bae1bc71
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
      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_remove.py test_remove.py-20070413183901-rvnp85rtc0q0sclp-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/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      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/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/authentication_conf.txt authentication_conf.-20071104135035-glfv0ri355tyg1nf-1
      doc/en/user-guide/bug_trackers.txt bug_trackers.txt-20070713223459-khxdlcudraii95uv-1
      doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
      doc/en/user-guide/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-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/en/user-reference/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
      doc/index.txt                  index.txt-20070813101924-07gd9i9d2jt124bf-1
      tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
      doc/developers/packrepo.txt    knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
      doc/en/tutorials/tutorial.txt  tutorial.txt-20050804190939-9dcbba2ef053bc84
    ------------------------------------------------------------
    revno: 2929.3.13
    revision-id: v.ladeuil+lp at free.fr-20071125140534-g4f5b3mrfksjz2gx
    parent: v.ladeuil+lp at free.fr-20071124145725-vy1kdhey2jusaj04
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sun 2007-11-25 15:05:34 +0100
    message:
      Update ssl generated files. Put the branch on the backburner until the ssl python module is fixed (bugs pending).
      
      * bzrlib/tests/ssl_certs/create_ssls.py:
      Fix typo. Make the inputs used by _openssl more obvious in calls.
      
      * bzrlib/transport/http/_urllib2_wrappers.py:
      (HTTPSConnection.__init__): httplib.py deleted that useful debug
      message, reenable it for https.
    modified:
      bzrlib/tests/ssl_certs/ca.crt  ca.crt-20071124141703-j5hr254lm287lyut-7
      bzrlib/tests/ssl_certs/ca.key  ca.key-20071124141703-j5hr254lm287lyut-6
      bzrlib/tests/ssl_certs/create_ssls.py create_ssls.py-20071124141703-j5hr254lm287lyut-5
      bzrlib/tests/ssl_certs/server.crt server.crt-20071124141703-j5hr254lm287lyut-4
      bzrlib/tests/ssl_certs/server.csr server.csr-20071124141703-j5hr254lm287lyut-3
      bzrlib/tests/ssl_certs/server_with_pass.key server_with_pass.key-20071124141703-j5hr254lm287lyut-2
      bzrlib/tests/ssl_certs/server_without_pass.key server_without_pass.-20071124141703-j5hr254lm287lyut-1
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
    ------------------------------------------------------------
    revno: 2929.3.12
    revision-id: v.ladeuil+lp at free.fr-20071124145725-vy1kdhey2jusaj04
    parent: v.ladeuil+lp at free.fr-20071124142059-2114qtsgfdv8g9p1
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sat 2007-11-24 15:57:25 +0100
    message:
      Implement an https server passing the same tests than http. Except
      for test_readv_with_adjust_for_latency of course (hi robert
      ;-). There is a nasty bug there already triggered in the #158972
      days, but nastier this time.
      
      * bzrlib/transport/http/_urllib2_wrappers.py:
      (HTTPSConnection.connect_to_origin): Takes python2.6 ssl
      implementation into account if available.
      
      * bzrlib/tests/https_server.py:
      (TestingHTTPSServer): Real implementation for https.
      (HTTPSServer): Real implementation with test ssl files.
      
      * bzrlib/tests/http_server.py:
      (HttpServer.create_httpd): New method allowing daughter classes to
      create specific servers.
    modified:
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
    ------------------------------------------------------------
    revno: 2929.3.11
    revision-id: v.ladeuil+lp at free.fr-20071124142059-2114qtsgfdv8g9p1
    parent: v.ladeuil+lp at free.fr-20071122103556-djp1gm22n2npztk0
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Sat 2007-11-24 15:20:59 +0100
    message:
      Ssl files needed for the test https server.
      
      * bzrlib/tests/ssl_certs/create_ssls.py: 
      Script to create the ssl keys and certificates.
      
      * bzrlib/tests/ssl_certs/server.crt: 
      Server certificate signed by the certificate authority.
      
      * bzrlib/tests/ssl_certs/server.csr: 
      Server certificate signing request.
      
      * bzrlib/tests/ssl_certs/server_without_pass.key: 
      Server key usable without password.
      
      * bzrlib/tests/ssl_certs/server_with_pass.key: 
      Server key.
      
      * bzrlib/tests/ssl_certs/ca.key: 
      Certificate authority private key.
      
      * bzrlib/tests/ssl_certs/ca.crt: 
      Certificate authority certificate.
      
      * bzrlib/tests/ssl_certs/__init__.py: 
      Provide access to ssl files (keys and certificates). 
    added:
      bzrlib/tests/ssl_certs/        ssl_certs-20071124141654-dc9za9nho2gmzbri-1
      bzrlib/tests/ssl_certs/__init__.py __init__.py-20071124141703-j5hr254lm287lyut-8
      bzrlib/tests/ssl_certs/ca.crt  ca.crt-20071124141703-j5hr254lm287lyut-7
      bzrlib/tests/ssl_certs/ca.key  ca.key-20071124141703-j5hr254lm287lyut-6
      bzrlib/tests/ssl_certs/create_ssls.py create_ssls.py-20071124141703-j5hr254lm287lyut-5
      bzrlib/tests/ssl_certs/server.crt server.crt-20071124141703-j5hr254lm287lyut-4
      bzrlib/tests/ssl_certs/server.csr server.csr-20071124141703-j5hr254lm287lyut-3
      bzrlib/tests/ssl_certs/server_with_pass.key server_with_pass.key-20071124141703-j5hr254lm287lyut-2
      bzrlib/tests/ssl_certs/server_without_pass.key server_without_pass.-20071124141703-j5hr254lm287lyut-1
    ------------------------------------------------------------
    revno: 2929.3.10
    revision-id: v.ladeuil+lp at free.fr-20071122103556-djp1gm22n2npztk0
    parent: v.ladeuil+lp at free.fr-20071122102144-adjrfkg2q7edfu43
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Thu 2007-11-22 11:35:56 +0100
    message:
      Add a fake https server and test facilities.
      
      * bzrlib/transport/http/_urllib2_wrappers.py:
      (HTTPSConnection.connect_to_origin): Disable ssl wrapping temporarily.
      
      * bzrlib/transport/http/_urllib.py:
      (get_test_permutations): Add https tests if a server is available.
      
      * bzrlib/tests/http_server.py:
      (TestingHTTPServer): Fix typo.
      (HttpServer.get_bogus_url): Use _url_protocol.
      
      * bzrlib/tests/__init__.py:
      (_HTTPSServerFeature): Define a feature since an https test server
      will have dependencies.
    added:
      bzrlib/tests/https_server.py   https_server.py-20071121173708-aj8zczi0ziwbwz21-1
    modified:
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/http_server.py    httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
    ------------------------------------------------------------
    revno: 2929.3.9
    revision-id: v.ladeuil+lp at free.fr-20071122102144-adjrfkg2q7edfu43
    parent: v.ladeuil+lp at free.fr-20071120180202-em1ya597eoza05l6
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Thu 2007-11-22 11:21:44 +0100
    message:
      Don't pretend we support HTTP/0.9 since we don't and do that correctly.
      
      * bzrlib/transport/http/_urllib2_wrappers.py:
      (AbstractHTTPConnection): Specifying strict here is useless.
      (HTTPConnection, HTTPSConnection): We don't support HTTP/0.9 in
      other parts of the stack, be explicit *correctly*.
    modified:
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
    ------------------------------------------------------------
    revno: 2929.3.8
    revision-id: v.ladeuil+lp at free.fr-20071120180202-em1ya597eoza05l6
    parent: v.ladeuil+lp at free.fr-20071120163339-2id3dwcjdpqbqpue
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Tue 2007-11-20 19:02:02 +0100
    message:
       Rename bzrlib/test/HTTPTestUtils.py to bzrlib/tests/http_utils.py and fix uses.
    renamed:
      bzrlib/tests/HTTPTestUtil.py => bzrlib/tests/http_utils.py HTTPTestUtil.py-20050914180604-247d3aafb7a43343
    modified:
      bzrlib/tests/blackbox/test_ignore.py test_ignore.py-20060703063225-4tm8dc2pa7wwg2t3-1
      bzrlib/tests/blackbox/test_too_much.py blackbox.py-20050620052131-a7370d756399f615
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
    ------------------------------------------------------------
    revno: 2929.3.7
    revision-id: v.ladeuil+lp at free.fr-20071120163339-2id3dwcjdpqbqpue
    parent: v.ladeuil+lp at free.fr-20071120160612-hxv17ysoy0sct45g
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: https
    timestamp: Tue 2007-11-20 17:33:39 +0100
    message:
      Rename bzrlib/test/HttpServer.py to bzrlib/tests/http_server.py and fix uses.
    renamed:
      bzrlib/tests/HttpServer.py => bzrlib/tests/http_server.py httpserver.py-20061012142527-m1yxdj1xazsf8d7s-1
    modified:
      bzrlib/tests/HTTPTestUtil.py   HTTPTestUtil.py-20050914180604-247d3aafb7a43343
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      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/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
    ------------------------------------------------------------
    revno: 2929.3.6
    revision-id: v.ladeuil+lp at free.fr-20071120160612-hxv17ysoy0sct45g
    parent: v.ladeuil+lp at free.fr-20071120141050-21w0pnh2ydu94vzh
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Tue 2007-11-20 17:06:12 +0100
    message:
      Ugly bug marking, but test suite passing for python2.6. Since 2.6
      is still developed investigating now seems a waste.
      
      * bzrlib/tests/tree_implementations/test_walkdirs.py:
      (TestWalkdirs.test_walkdir_root,
      TestWalkdirs.test_walkdir_subtree): Mark failing tests.
      
      * bzrlib/tests/tree_implementations/test_test_trees.py:
      (TestTreeShapes.test_tree_with_subdirs_and_all_content_types):
      Mark failing tests.
      
      * bzrlib/tests/tree_implementations/test_inv.py:
      (TestEntryDiffing.test_link_diff_changed,
      TestInventory.test_symlink_target, TestInventory.test_symlink):
      Mark failing tests.
      
      * bzrlib/errors.py:
      (BzrError.__str__, BzrError.__str__): Working around python2.5
      hiding'message' attribute is not needed anymore.
    modified:
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      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/tree_implementations/test_walkdirs.py test_walkdirs.py-20060729160421-gmjnkotqgxdh98ce-1
    ------------------------------------------------------------
    revno: 2929.3.5
    revision-id: v.ladeuil+lp at free.fr-20071120141050-21w0pnh2ydu94vzh
    parent: v.ladeuil+lp at free.fr-20071120105942-67u4nr9oay850s6o
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Tue 2007-11-20 15:10:50 +0100
    message:
      New files, same warnings, same fixes.
      
      * bzrlib/util/configobj/configobj.py:
      (ConfigObjError.__init__): Use msg instead of message (2.6
      deprecation).
      
      * bzrlib/errors.py:
      (BzrCheckError, ParseConfigError.__init__): Use msg instead of
      message (2.6 deprecation).
      
      * bzrlib/tests/test_repository.py: 
      Update md5 import, fix use.
      
      * bzrlib/repofmt/pack_repo.py: 
      Update md5 import, fix use. Fix some import ordering too.
    modified:
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/repofmt/pack_repo.py    pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
      bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
      bzrlib/util/configobj/configobj.py configobj.py-20051018184548-06992a2246425e3e
    ------------------------------------------------------------
    revno: 2929.3.4
    revision-id: v.ladeuil+lp at free.fr-20071120105942-67u4nr9oay850s6o
    parent: v.ladeuil+lp at free.fr-20071120105052-qehbkotj2y66jaef
    parent: pqm at pqm.ubuntu.com-20071119235416-b8dvkk17vngbf99s
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Tue 2007-11-20 11:59:42 +0100
    message:
      Merge bzr.dev
    added:
      bzrlib/lru_cache.py            lru_cache.py-20070119165515-tlw203kuwh0id5gv-1
      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
      bzrlib/tests/test_lru_cache.py test_lru_cache.py-20070119165535-hph6rk4h9rzy4180-1
      bzrlib/tests/tree_implementations/test_get_root_id.py test_get_root_id.py-20071026191509-a4conhr43f194avv-1
      doc/developers/knitpack.txt    knitpack.txt-20071023074744-q0g5u8me8gk5zbtb-1
      doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-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/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      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/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/export/__init__.py      __init__.py-20051114235828-1ba62cb4062304e6
      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/lazy_import.py          lazy_import.py-20060910203832-f77c54gf3n232za0-1
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/mutabletree.py          mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/pack.py                 container.py-20070607160755-tr8zc26q18rn0jnb-1
      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/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/smart/__init__.py       __init__.py-20061101100249-8jwwl0d3jr080zim-1
      bzrlib/smart/protocol.py       protocol.py-20061108035435-ot0lstk2590yqhzr-1
      bzrlib/smart/request.py        request.py-20061108095550-gunadhxmzkdjfeek-1
      bzrlib/smtp_connection.py      smtp_connection.py-20070618204456-nu6wag1ste4biuk2-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/__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_log.py test_log.py-20060112090212-78f6ea560c868e24
      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_uncommit.py test_uncommit.py-20051027212835-84944b63adae51be
      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_get_revision_id_to_revno_map.py test_get_revision_id-20070417211641-6kcoj1c704gqqopn-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/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/commands/test_checkout.py test_checkout.py-20070525151718-vm7ligd5px5dtmda-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_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/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_errors.py    test_errors.py-20060210110251-41aba2deddf936a8
      bzrlib/tests/test_ftp_transport.py test_aftp_transport.-20060823221619-98mwjzxtwtkt527k-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_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      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_memorytree.py test_memorytree.py-20060906023413-4wlkalbdpsxi2r4y-3
      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_pack.py      test_container.py-20070607160755-tr8zc26q18rn0jnb-2
      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.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
      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_ssh_transport.py test_ssh_transport.p-20070105153201-f7iq2bosvgjbdgc3-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_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_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_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_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/_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/tree.py                 tree.py-20050309040759-9d5f2496be663e77
      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
      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
      tools/win32/bzr-win32-bdist-postinstall.py bzrwin32bdistpostinstall.py-20060629085133-098bsfj3va8jc0ql-1
    ------------------------------------------------------------
    revno: 2929.3.3
    revision-id: v.ladeuil+lp at free.fr-20071120105052-qehbkotj2y66jaef
    parent: v.ladeuil+lp at free.fr-20071024142115-83gi49ooll2nqyxx
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Tue 2007-11-20 11:50:52 +0100
    message:
      Avoid deprecation warnings.
      
      * bzrlib/errors.py:
      (WeaveError.__init__): Use msg instead of message since 'message'
      as a BaseException attribute is deprecated in python-2.6.
    modified:
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
    ------------------------------------------------------------
    revno: 2929.3.2
    revision-id: v.ladeuil+lp at free.fr-20071024142115-83gi49ooll2nqyxx
    parent: v.ladeuil+lp at free.fr-20071024135634-d8os3by1g6f45q12
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Wed 2007-10-24 16:21:15 +0200
    message:
      Breaking python2.4 support is *not* an option :)
      
      * bzrlib/osutils.py: 
      <cough> new() calls are the only working way for python 2.4.
    modified:
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
    ------------------------------------------------------------
    revno: 2929.3.1
    revision-id: v.ladeuil+lp at free.fr-20071024135634-d8os3by1g6f45q12
    parent: pqm at pqm.ubuntu.com-20071023082111-h6u34i4gvlb2nwch
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.python26
    timestamp: Wed 2007-10-24 15:56:34 +0200
    message:
      Fix python2.6 deprecation warnings (still 4 failures 5 errors in test suite).
      
      * bzrlib/osutils.py: 
      Wrap md5 and sha imports to be compatible with python 2.4, 2.5,
      2.6.
      Replace all sha.new() calls by sha() calls they are reputedly
      faster (not profiled).
      
      * bzrlib/weave.py: 
      Update sha import, fix use.	
      
      * bzrlib/transport/http/_urllib2_wrappers.py: 
      Update sha and md5 imports, fix uses.
      
      * bzrlib/tests/test_testament.py: 
      Update sha import.
      
      * bzrlib/tests/test_knit.py: 
      Update sha import, fix uses.	
      
      * bzrlib/tests/test_hashcache.py: 
      Update sha import, fix use.	
      
      * bzrlib/tests/repository_implementations/test_check_reconcile.py: 
      Update sha import, fix use.	
      
      * bzrlib/tests/HTTPTestUtil.py: 
      Update md5 import, fix uses. Delete useless sha import.
      
      * bzrlib/testament.py: 
      Update sha import.
      
      * bzrlib/hashcache.py: 
      Update sha import.
      
      * bzrlib/revisionspec.py:
      (RevisionSpec.__new__): Remove useless parameters since python2.6
      is stricter.
    modified:
      bzrlib/hashcache.py            hashcache.py-20050706091756-fe3a8cc1143ff24f
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/testament.py            testament.py-20051011100429-6d319a18183b13c8
      bzrlib/tests/HTTPTestUtil.py   HTTPTestUtil.py-20050914180604-247d3aafb7a43343
      bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
      bzrlib/tests/test_hashcache.py testhashcache.py-20050706091800-0288ab2659338981
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_testament.py testtestament.py-20051011100429-5df1657310caa929
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
=== modified file 'NEWS'
--- a/NEWS	2009-01-08 16:12:07 +0000
+++ b/NEWS	2009-01-08 16:57:10 +0000
@@ -137,6 +137,10 @@
 
   TESTING:
 
+    * An HTTPS server is now available (it requires python-2.6). Future bzr
+      versions will allow the use of the python-2.6 ssl module that can be
+      installed for 2.5 and 2.4.
+
     * ``bzr selftest`` now fails if new trailing white space is added to
       the bazaar sources. It only checks changes not committed yet. This
       means that PQM will now reject changes that introduce new trailing

=== modified file 'bzrlib/errors.py'
--- a/bzrlib/errors.py	2009-01-06 06:01:56 +0000
+++ b/bzrlib/errors.py	2009-01-08 16:57:10 +0000
@@ -17,7 +17,6 @@
 """Exceptions for bzr, and reporting of them.
 """
 
-
 from bzrlib import (
     osutils,
     symbol_versioning,

=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2009-01-08 10:02:35 +0000
+++ b/bzrlib/tests/__init__.py	2009-01-08 16:57:10 +0000
@@ -3292,9 +3292,31 @@
     def feature_name(self):
         return 'FTPServer'
 
+
 FTPServerFeature = _FTPServerFeature()
 
 
+class _HTTPSServerFeature(Feature):
+    """Some tests want an https Server, check if one is available.
+
+    Right now, the only way this is available is under python2.6 which provides
+    an ssl module.
+    """
+
+    def _probe(self):
+        try:
+            import ssl
+            return True
+        except ImportError:
+            return False
+
+    def feature_name(self):
+        return 'HTTPSServer'
+
+
+HTTPSServerFeature = _HTTPSServerFeature()
+
+
 class _UnicodeFilename(Feature):
     """Does the filesystem support Unicode filenames?"""
 

=== modified file 'bzrlib/tests/branch_implementations/test_branch.py'
--- a/bzrlib/tests/branch_implementations/test_branch.py	2008-11-18 18:43:04 +0000
+++ b/bzrlib/tests/branch_implementations/test_branch.py	2008-12-11 12:49:09 +0000
@@ -511,7 +511,7 @@
         self.assertEqual('', relpath)
         branch, relpath = Branch.open_containing(self.get_readonly_url('g/p/q'))
         self.assertEqual('g/p/q', relpath)
-        
+
 
 class InstrumentedTransaction(object):
 

=== modified file 'bzrlib/tests/http_server.py'
--- a/bzrlib/tests/http_server.py	2008-11-11 00:57:17 +0000
+++ b/bzrlib/tests/http_server.py	2008-12-11 12:49:09 +0000
@@ -34,10 +34,6 @@
 from bzrlib.transport import local
 
 
-class WebserverNotAvailable(Exception):
-    pass
-
-
 class BadWebserverPath(ValueError):
     def __str__(self):
         return 'path %s is not in %s' % self.args
@@ -181,7 +177,7 @@
             content_length += self._header_line_length(
                 'Content-Range', 'bytes %d-%d/%d' % (start, end, file_size))
             content_length += len('\r\n') # end headers
-            content_length += end - start # + 1
+            content_length += end - start + 1
         content_length += len(boundary_line)
         self.send_header('Content-length', content_length)
         self.end_headers()
@@ -424,6 +420,9 @@
         # Allows tests to verify number of GET requests issued
         self.GET_request_nb = 0
 
+    def create_httpd(self, serv_cls, rhandler_cls):
+        return serv_cls((self.host, self.port), self.request_handler, self)
+
     def __repr__(self):
         return "%s(%s:%s)" % \
             (self.__class__.__name__, self.host, self.port)
@@ -445,7 +444,7 @@
             if serv_cls is None:
                 raise httplib.UnknownProtocol(proto_vers)
             else:
-                self._httpd = serv_cls((self.host, self.port), rhandler, self)
+                self._httpd = self.create_httpd(serv_cls, rhandler)
             host, self.port = self._httpd.socket.getsockname()
         return self._httpd
 

=== added file 'bzrlib/tests/https_server.py'
--- a/bzrlib/tests/https_server.py	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/https_server.py	2009-01-08 15:28:17 +0000
@@ -0,0 +1,112 @@
+# Copyright (C) 2007 Canonical Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""HTTPS test server, available when ssl python module is available"""
+
+import ssl
+
+from bzrlib.tests import (
+    http_server,
+    ssl_certs,
+    )
+
+
+class TestingHTTPSServerMixin:
+
+    def __init__(self, key_file, cert_file):
+        self.key_file = key_file
+        self.cert_file = cert_file
+
+    def get_request (self):
+        """Get the request and client address from the socket.
+
+        This is called in response to a connection issued to the server, we
+        wrap the socket with SSL.
+        """
+        sock, addr = self.socket.accept()
+        sslconn = ssl.wrap_socket(sock, server_side=True,
+                                  keyfile=self.key_file,
+                                  certfile=self.cert_file)
+        return sslconn, addr
+
+
+class TestingHTTPSServer(TestingHTTPSServerMixin,
+                         http_server.TestingHTTPServer):
+
+    def __init__(self, server_address, request_handler_class,
+                 test_case_server, key_file, cert_file):
+        TestingHTTPSServerMixin.__init__(self, key_file, cert_file)
+        http_server.TestingHTTPServer.__init__(
+            self, server_address, request_handler_class, test_case_server)
+
+
+class TestingThreadingHTTPSServer(TestingHTTPSServerMixin,
+                                  http_server.TestingThreadingHTTPServer):
+
+    def __init__(self, server_address, request_handler_class,
+                 test_case_server, key_file, cert_file):
+        TestingHTTPSServerMixin.__init__(self, key_file, cert_file)
+        http_server.TestingThreadingHTTPServer.__init__(
+            self, server_address, request_handler_class, test_case_server)
+
+
+class HTTPSServer(http_server.HttpServer):
+
+    _url_protocol = 'https'
+
+    # The real servers depending on the protocol
+    http_server_class = {'HTTP/1.0': TestingHTTPSServer,
+                         'HTTP/1.1': TestingThreadingHTTPSServer,
+                         }
+
+    # Provides usable defaults since an https server requires both a
+    # private key and certificate to work.
+    def __init__(self, request_handler=http_server.TestingHTTPRequestHandler,
+                 key_file=ssl_certs.build_path('server_without_pass.key'),
+                 cert_file=ssl_certs.build_path('server.crt')):
+        http_server.HttpServer.__init__(self, request_handler)
+        self.key_file = key_file
+        self.cert_file = cert_file
+        self.temp_files = []
+
+    def create_httpd(self, serv_cls, rhandler_cls):
+        return serv_cls((self.host, self.port), self.request_handler,
+                        self, self.key_file, self.cert_file)
+
+
+class HTTPSServer_urllib(HTTPSServer):
+    """Subclass of HTTPSServer that gives https+urllib urls.
+
+    This is for use in testing: connections to this server will always go
+    through urllib where possible.
+    """
+
+    # urls returned by this server should require the urllib client impl
+    _url_protocol = 'https+urllib'
+
+
+class HTTPSServer_PyCurl(HTTPSServer):
+    """Subclass of HTTPSServer that gives http+pycurl urls.
+
+    This is for use in testing: connections to this server will always go
+    through pycurl where possible.
+    """
+
+    # We don't care about checking the pycurl availability as
+    # this server will be required only when pycurl is present
+
+    # urls returned by this server should require the pycurl client impl
+    _url_protocol = 'https+pycurl'

=== added directory 'bzrlib/tests/ssl_certs'
=== added file 'bzrlib/tests/ssl_certs/__init__.py'
--- a/bzrlib/tests/ssl_certs/__init__.py	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/__init__.py	2009-01-08 15:28:17 +0000
@@ -0,0 +1,29 @@
+# Copyright (C) 2007-2008 Canonical Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""ssl_certs -- provides access to ssl keys and certificates needed by tests"""
+
+from bzrlib import (
+    osutils,
+    )
+
+# Directory containing all ssl files, keys or certificates
+base_dir = osutils.dirname(osutils.realpath(__file__))
+
+
+def build_path(name):
+    """Build and return a path in ssl_certs directory for name"""
+    return osutils.pathjoin(base_dir, name)

=== added file 'bzrlib/tests/ssl_certs/ca.crt'
--- a/bzrlib/tests/ssl_certs/ca.crt	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/ca.crt	2007-11-25 14:05:34 +0000
@@ -0,0 +1,38 @@
+-----BEGIN CERTIFICATE-----
+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
+8HmzmgqJXf1yxgFKgir0OQ6VXIXyFmr4lwDF
+-----END CERTIFICATE-----

=== added file 'bzrlib/tests/ssl_certs/ca.key'
--- a/bzrlib/tests/ssl_certs/ca.key	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/ca.key	2007-11-25 14:05:34 +0000
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,79F761A5C7882806
+
+iS1sEvtEAybrvlUtC3yTEjDDyXwmtuxYat844bKc0C9fh27hbCh04gw4AsDAYDlq
+/L5gc4ymHGI2L1ztDvjLVrOiRr78DCejXoIGHmF83Ijokkr/z9X0eJgeOl+akXu9
+F+DkzIGNAJ/+jYAoaU03Zn/3vGhRGGKkXHnI6TE3xRit6s9QU2GjvwzNOM2chB5J
+5IGE0M3uwTPpEVVoeDphDKzsibVGSFDH8z+tfm9rdWkRRmtXDeZFgFr21+qLx4co
+/IqJmFZ8ZkmrD5O8ExO/AcPDYCXtAJMPAnTR52UpeJ4eYbdOG23E95LWsG0VOgej
+AOsoHJV49MCwgaD6dmzDgucoxftYHgr0+wleAQeB/27zQsU4GjrviVGkVhRJB44F
+VqVNaRyA2tPIN2CQAYCWTKIuLZecNG0HBnV8VeDQDuF4hwmCV0Iy5EqC4tDMbfq/
+Rxgllkz+WA/b9tNs0pjyDv17PfbmlHq8vBx+UAgpz5CcCBqEgXkCo3ZEirTM58Ro
+SBXuuNJIV0ULmfNLDmUPOosWbzNgTPWH4QYOEs1iNRyhaOGJ2L9Kx+wiLy8o/n+7
+fz7z69ToX/Y5gBOJI6ZXCkwrbP96jV1mqKwLPYAW7z7koxvGdum2NhpzSY+e01NN
+6BWnSs4benO+acyMAil8As4/SMP1vph+ty0ytKZ+LbLUxNCgFbuERBODlguzF9CE
+Yff8ws288eTA21t4GqRsVldzc5pX/5GNjgGiNP60djDX8LuFi5Do934CAytCYvZg
+ziZZ8F7pazFK+YMFGvOrXobIzLPz0rZIAnT0wAXPCHb/huWGsWlrnuMBMLDevQTb
+r+qd61aiDBel4YN+fMdjYlGEqNdPbEgt0OYJwsDMnOiXrJXwE1Tagbazimb8Yehs
+ocqoTz3SF+luwhd8+56CFgW13/1SP8IWxeb0yM7BbI+/LjDLE7in0GfiZgb42ClX
+Fbeiz8FW7vLsu8FX0g3Kemdy0DOp9sc3ZcS45y6Ij53OD4PQGFG2Xg5w2PiFd6J2
+4LfL77wVCcahyIM9AzCsbzCiPT5zyas+Q3DbNiBvAec28ci/u4Aqzd85iABElbkm
+TGbAbVyMVJt60ADpLVIrlw0N90HR6Kh8OB+JzH9g01oKgnoR0SpQsSPNUapJhed3
+hrw8ETUFgpNobjt6quDjZVpCgo1E+VmX5oCftnpcRbO36DIZj5Uuj2HlUpbIMytS
+uTUxrgLmYEbfa8EQwkPfQFmgbk212OOJntKswVTYTcqi+gEn0vxuWJ/7C2M89pJQ
+D9i4oxH3Op+58JK/N7By7LZxMYsX5FjyQD9/bssj5MgY/6ClYEMQUiqq/cVRLKMx
+rp+hImyWMPvHMNm/Czr/FF7aYW8zMpQ/0BDH3oQDeeA+zHvpTRnB4mNuX+QkPsYz
+uCo965wQsZDmvUUgryQBukBOsP9CpQB0wxUvlaemWKuCmPYaYzr86IxdRbyqF1nj
+uBF5Ut5PYWsCutp9MrBLkq6+kCCAkZsSxlSxsKrtvPWOGgd+9WmjylMwNC1zsMFO
+pkXcLiRAIn7gFvAoDcP4nxtTkCoMamVFjXMdH99h6IhMZGy+ncjK9KmqCDBVFFpr
+BHMOdv4a5RmhnvHKWAxADpIyWgWTwPppw68BNmVIEBANDTNe7QH6+ZMDmluJdDGQ
+RT34hERw23NX5DN+wAQMbmO4Hf5HhSiN/JTMRu+RcIMJ+FxQagFMPSev3Bgy1711
+qsKFnrdK6j0sjgnm366I2M/9sNB6LluERSoKMuqc4kwKiR7S5jOhYSgqneqLzb/Y
+djxrSrpqpO6bXhdG3Dn7mtWuTbbQp44e98xsEfixNIc6u2/RkxDn1SUYk11UWipR
+tQjy4ML4ntmiEo/AIXCVxBOvGpng3aPXs7CLfZrpg01HdIdKE2LQDIpyZCTtg9pI
+BRVGqlUYmqdxb3tHJsa1Q2W21IoisDI0ydZaRA02j9dMJxbjVxaJEGqaJi/78Lcn
+FaaloEDqZN31/xDC5rYQpjczu2CawsLNSuewLmvWM4SeksHEd7ZeBDqNjZBAoFGo
+cfiHwYcgWnFYVacpIeJ3QzHdy5HDQyXXVVZiTaoWjILo2hdhukS5izcCbbPiAZ1b
+H/hUzBI+6M45hIOjZ4yCp1YZrTOtES2diLpET0Zy3+MA8Hs3R0VriTGmWzEsK0ng
+8O13An2tuKUwQPfXkXMqb42PkpVIIIamGhYu5p+IXZ3I2ViY0sI503wCFQvlVNa9
+ijEuP7eigFzX/ANtxcaw9G5rUOPvaY7ppBOf8+69vAV1n6Pph1yymfxBiNB+LS1O
+Ty108vSykU/Xjjc+lUNT8Zb8zlLyrhuJMLnxqa80gHX4py2R8trNIDR3gwhOE6o/
+WIoOAOWLZcJTBAYcrPiNSLAHCKnVWOvMPFn014wmvOVK9Air+mz739URpsJqPcFN
+hrzzLU01mheKR4KlTP8hTotPoU4heNrImzyZFyoX3qe9sH1N6B359gTJacR+CAxf
+5LxONx876kMVjWHr4Fa55qnjSs0lwmb9UNkQa03VPxYbNo71SNv16Tf2TADu9R4N
+O11SElm1Xz64w/f+fHgjOzFvZqAto5L3B6nWCcbza9TJH8EjvkINwXjnPnmwB/+M
+IEy9G893tM3ndO4Ku1YgimPB3ly8NN5FldZcQegy0W9S95ZWk4S1M0pPpZTp59RJ
+YfFIXqt0wALRg1oajLzft1aJ7AVBuctOv6QfJAPKsCuvSfscbBy8+anNDmC2Rbrh
+JA1Q2c6Eyw227sU/4P6Zg4GXCC7CovWryYV9URp0pkN6AJxxnqIVQGxNqnyJvGxE
+M7OKtBMPsXn5WCpBuUmOmw5MVh3lNhtiLMm6Da6C9PwEBbeKZuodzd//ewOcxj6w
+9IwbBymzqgZQw9XlHMx/kJH67fBanHFVAAPdIzr9Gzmh2oDmLR47gLeNTSKYSMwJ
+J/3AFIbKy6OXjetYoY4SWmS6JI3OABjWwnBXGK9AJE05pImhYixxEr8rHZw40BP6
+iM0rSn5bQjYZwyZLfQ29AM7hsaceov6SYRP1jogmHSHaTPcwTu5V2fATIHgvRXLd
+cA9e3JSLsF+b0PAR62jkdfStT1y3gIgvl6sCdV/A1V84/VG6jUpLh7iKyQRhuVK2
+-----END RSA PRIVATE KEY-----

=== added file 'bzrlib/tests/ssl_certs/create_ssls.py'
--- a/bzrlib/tests/ssl_certs/create_ssls.py	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/create_ssls.py	2008-01-05 22:09:47 +0000
@@ -0,0 +1,261 @@
+#! /usr/bin/env python
+
+# Copyright (C) 2007 Canonical Ltd
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+"""create_ssls.py -- create sll keys and certificates for tests.
+
+The https server requires at least a key and a certificate to start.
+
+SSL keys and certificates are created with openssl which may not be available
+everywhere we want to run the test suite.
+
+To simplify test writing, the necessary keys and certificates are generated by
+this script and used by the tests.
+
+Since creating these test keys and certificates requires a good knowledge of
+openssl and a lot of typing, we record all the needed parameters here.
+
+Since this will be used rarely, no effort has been made to handle exotic
+errors, the basic policy is that openssl should be available in the path and
+the parameters should be correct, any error will abort the script. Feel free to
+enhance that.
+
+This script provides options for building any individual files or two options
+to build the certificate authority files (--ca) or the server files (--server).
+"""
+
+from cStringIO import StringIO
+import optparse
+import os
+from subprocess import (
+    CalledProcessError,
+    Popen,
+    PIPE,
+    )
+
+from bzrlib import (
+    osutils,
+    )
+from bzrlib.tests import (
+    ssl_certs,
+    )
+
+def error(s):
+    print s
+    exit(1)
+
+def needs(request, *paths):
+    """Errors out if the specified path does not exists"""
+    missing = [p for p in paths if not os.path.exists(p)]
+    if missing:
+        error('%s needs: %s' % (request, ','.join(missing)))
+
+
+def rm_f(path):
+    """rm -f path"""
+    try:
+        os.unlink(path)
+    except:
+        pass
+
+def _openssl(args, input=None):
+    """Execute a command in a subproces feeding stdin with the provided input.
+
+    :return: (returncode, stdout, stderr)
+    """
+    cmd = ['openssl'] + args
+    proc = Popen(cmd, stdin=PIPE)
+    (stdout, stderr) = proc.communicate(input)
+    if proc.returncode:
+        # Basic error handling, all commands should succeed
+        raise CalledProcessError(proc.returncode, cmd)
+    return proc.returncode, stdout, stderr
+
+
+ssl_params=dict(
+    # Passwords
+    server_pass='I will protect the communications',
+    server_challenge_pass='Challenge for the CA',
+    ca_pass='I am the authority for the whole... localhost',
+    # CA identity
+    ca_country_code='BZ',
+    ca_state='Internet',
+    ca_locality='Bazaar',
+    ca_organization='Distributed',
+    ca_section='VCS',
+    ca_name='Master of certificates',
+    ca_email='cert at no.spam',
+    # Server identity
+    server_country_code='LH',
+    server_state='Internet',
+    server_locality='LocalHost',
+    server_organization='Testing Ltd',
+    server_section='https server',
+    server_name='localhost', # Always accessed under that name
+    server_email='https_server at locahost',
+    server_optional_company_name='',
+    )
+
+
+def build_ca_key():
+    """Generate an ssl certificate authority private key."""
+    key_path = ssl_certs.build_path('ca.key')
+    rm_f(key_path)
+    _openssl(['genrsa', '-passout', 'stdin', '-des3', '-out', key_path, '4096'],
+             input='%(ca_pass)s\n%(ca_pass)s\n' % ssl_params)
+
+
+def build_ca_certificate():
+    """Generate an ssl certificate authority private key."""
+    key_path = ssl_certs.build_path('ca.key')
+    needs('Building ca.crt', key_path)
+    cert_path = ssl_certs.build_path('ca.crt')
+    rm_f(cert_path)
+    _openssl(['req', '-passin', 'stdin', '-new', '-x509',
+              # Will need to be generated again in 10 years -- vila 20071122
+              '-days', '3650',
+              '-key', key_path, '-out', cert_path],
+             input='%(ca_pass)s\n'
+             '%(ca_country_code)s\n'
+             '%(ca_state)s\n'
+             '%(ca_locality)s\n'
+             '%(ca_organization)s\n'
+             '%(ca_section)s\n'
+             '%(ca_name)s\n'
+             '%(ca_email)s\n'
+             % ssl_params)
+
+
+def build_server_key():
+    """Generate an ssl server private key.
+
+    We generates a key with a password and then copy it without password so
+    that as server can user it without prompting.
+    """
+    key_path = ssl_certs.build_path('server_with_pass.key')
+    rm_f(key_path)
+    _openssl(['genrsa', '-passout', 'stdin', '-des3', '-out', key_path, '4096'],
+             input='%(server_pass)s\n%(server_pass)s\n' % ssl_params)
+
+    key_nopass_path = ssl_certs.build_path('server_without_pass.key')
+    rm_f(key_nopass_path)
+    _openssl(['rsa', '-passin', 'stdin', '-in', key_path,
+              '-out', key_nopass_path,],
+             input='%(server_pass)s\n' % ssl_params)
+
+
+def build_server_signing_request():
+    """Create a CSR (certificate signing request) to get signed by the CA"""
+    key_path = ssl_certs.build_path('server_with_pass.key')
+    needs('Building server.csr', key_path)
+    server_csr_path = ssl_certs.build_path('server.csr')
+    rm_f(server_csr_path)
+    _openssl(['req', '-passin', 'stdin', '-new', '-key', key_path,
+              '-out', server_csr_path],
+             input='%(server_pass)s\n'
+             '%(server_country_code)s\n'
+             '%(server_state)s\n'
+             '%(server_locality)s\n'
+             '%(server_organization)s\n'
+             '%(server_section)s\n'
+             '%(server_name)s\n'
+             '%(server_email)s\n'
+             '%(server_challenge_pass)s\n'
+             '%(server_optional_company_name)s\n'
+             % ssl_params)
+
+
+def sign_server_certificate():
+    """CA signs server csr"""
+    server_csr_path = ssl_certs.build_path('server.csr')
+    ca_cert_path = ssl_certs.build_path('ca.crt')
+    ca_key_path = ssl_certs.build_path('ca.key')
+    needs('Signing server.crt', server_csr_path, ca_cert_path, ca_key_path)
+    server_cert_path = ssl_certs.build_path('server.crt')
+    rm_f(server_cert_path)
+    _openssl(['x509', '-req', '-passin', 'stdin',
+              # Will need to be generated again in 10 years -- vila 20071122
+              '-days', '3650',
+              '-in', server_csr_path,
+              '-CA', ca_cert_path, '-CAkey', ca_key_path,
+              '-set_serial', '01',
+              '-out', server_cert_path,],
+             input='%(ca_pass)s\n' % ssl_params)
+
+
+def build_ssls(name, options, builders):
+    if options is not None:
+        for item in options:
+            builder = builders.get(item, None)
+            if builder is None:
+                error('%s is not a known %s' % (item, name))
+            builder()
+
+
+opt_parser = optparse.OptionParser(usage="usage: %prog [options]")
+opt_parser.set_defaults(ca=False)
+opt_parser.set_defaults(server=False)
+opt_parser.add_option(
+    "--ca", dest="ca", action="store_true",
+    help="Generate CA key and certificate")
+opt_parser.add_option(
+    "--server", dest="server", action="store_true",
+    help="Generate server key, certificate signing request and certificate")
+opt_parser.add_option(
+    "-k", "--key", dest="keys", action="append", metavar="KEY",
+    help="generate a new KEY (several -k options can be specified)")
+opt_parser.add_option(
+    "-c", "--certificate", dest="certificates", action="append",
+    metavar="CERTIFICATE",
+    help="generate a new CERTIFICATE (several -c options can be specified)")
+opt_parser.add_option(
+    "-r", "--sign-request", dest="signing_requests", action="append",
+    metavar="REQUEST",
+    help="generate a new signing REQUEST (several -r options can be specified)")
+opt_parser.add_option(
+    "-s", "--sign", dest="signings", action="append",
+    metavar="SIGNING",
+    help="generate a new SIGNING (several -s options can be specified)")
+
+
+key_builders = dict(ca=build_ca_key, server=build_server_key,)
+certificate_builders = dict(ca=build_ca_certificate,)
+signing_request_builders = dict(server=build_server_signing_request,)
+signing_builders = dict(server=sign_server_certificate,)
+
+
+if __name__ == '__main__':
+    (Options, args) = opt_parser.parse_args()
+    if (Options.ca or Options.server):
+        if (Options.keys or Options.certificates or Options.signing_requests
+            or Options.signings):
+            error("--ca and --server can't be used with other options")
+        # Handles --ca before --server so that both can be used in the same run
+        # to generate all the files needed by the https test server
+        if Options.ca:
+            build_ca_key()
+            build_ca_certificate()
+        if Options.server:
+            build_server_key()
+            build_server_signing_request()
+            sign_server_certificate()
+    else:
+        build_ssls('key', Options.keys, key_builders)
+        build_ssls('certificate', Options.certificates, certificate_builders)
+        build_ssls('signing request', Options.signing_requests,
+                   signing_request_builders)
+        build_ssls('signing', Options.signings, signing_builders)

=== added file 'bzrlib/tests/ssl_certs/server.crt'
--- a/bzrlib/tests/ssl_certs/server.crt	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/server.crt	2008-01-05 22:09:47 +0000
@@ -0,0 +1,33 @@
+-----BEGIN CERTIFICATE-----
+MIIFpDCCA4wCAQEwDQYJKoZIhvcNAQEFBQAwgZMxCzAJBgNVBAYTAkJaMREwDwYD
+VQQIEwhJbnRlcm5ldDEPMA0GA1UEBxMGQmF6YWFyMRQwEgYDVQQKEwtEaXN0cmli
+dXRlZDEMMAoGA1UECxMDVkNTMR8wHQYDVQQDExZNYXN0ZXIgb2YgY2VydGlmaWNh
+dGVzMRswGQYJKoZIhvcNAQkBFgxjZXJ0QG5vLnNwYW0wHhcNMDgwMTA1MjIwNjQ1
+WhcNMTgwMTAyMjIwNjQ1WjCBmzELMAkGA1UEBhMCTEgxETAPBgNVBAgTCEludGVy
+bmV0MRIwEAYDVQQHEwlMb2NhbEhvc3QxFDASBgNVBAoTC1Rlc3RpbmcgTHRkMRUw
+EwYDVQQLEwxodHRwcyBzZXJ2ZXIxEjAQBgNVBAMTCWxvY2FsaG9zdDEkMCIGCSqG
+SIb3DQEJARYVaHR0cHNfc2VydmVyQGxvY2Fob3N0MIICIjANBgkqhkiG9w0BAQEF
+AAOCAg8AMIICCgKCAgEAsvSNdobG/oO97vhO7xcHpQfpx2QHwYOn+Im0FMTXbTPd
+Bre4wkjEC2KxOjH6MGBEQM02h8SUAWCcvX+HyLBkZRtgeueZZaf2iqc+Tr24ueMa
+f8elqz1tuaua7zyuR+uUgZyxX7rgbuVDUYNt5qVN8uXUSbCtVgxHa3extD7fbvD8
+t9P/QUItx5EBBEeWVhtVffgI35OWMwsJhiwK68ka0kTLJJhZyqAQujKnZf0uHyAv
+Vkai1fYtjklBVLnxwvJZOwnQto3RF1AmuMgj7T6RwDjTR43DioHtTJotrPZfQaAF
+3tVC30Vy8pm0ojFdxUdKPgEMOLBWizXWc3lzWn02CE0awHxwIYNVNLODX3sU/ou8
+OqOIMDRK451xE5S5WOXciWLknY/ene2r4g/pPFYNrwc/9eZ0AYIhE7Jm7b+D3WvL
+z3CrhYul/XmPsXBHBnxkrjvtrj0yDZyHZnMpygqL7Cr9/2V9FwMFPNTNY5Sifmcx
+l6orvx8oe6Q98XwGD575wWU6BwIrpriSa2HWrVIDwwbSCeZ8NULXe8fnC8zInckj
+tzz8osqRv4af+XXoht5zJtt8fUc7o4Xiq4Yyzlj3lJMHWcP+GqzCbJ0c/OY6C/ml
+C6YbMeCwv+/gAs3Xw1eSzimDqxh/kIw6SgBUGoQVffOzaJo917cMyYycLDDN9/8C
+AwEAATANBgkqhkiG9w0BAQUFAAOCAgEAmPprAO6iZZaruR2qeekooeCINXbiGY92
+0Er+jLU2fulOWwDDh7nGMjNM8jz0NKxcjRJ26GLHsQS4lLrD6B6fQb2vBm47oMFX
+pzyeQotvO0uqvMZMNls8tJxKEy7+NVMf+UI/gVTiqIUgnl6hJ3pO2FoDoIG2rwGO
+mAZAc0Xu1w8B0F77umFhlzcK0jKyTGXRIqO8lFYdRpXcIT8wATGxTTyGApWw2nh9
+CWZviX9Fsz6l7qr85ckcrvtzb4e/qtY/oV/y469FtoI2Tz1Iq94Et0zpZMsCfgbd
+TI9IxnPkLd59WbwMghlBtMv7tbXSGCSnSKieZVbf/hGfwVK30dCGS3X0hsF60ADd
+/wh01QgxfXgAktOvCnsMUrfMcElEvE1lgCSqtYw5AL5+nDf3FUwJbr47l8BCk589
+OAN0ijrnUPHNHL83eLuxb26V8B7LRt61HfQOAXBcpwTHyewnOXq0zj5lzkgAU8Sj
+55FObSd2/gvOVw9rr3eC0evgMpDAsOfeupE2BB/VwTRrbRrETiqskWa8EnvqKPkM
+ESIRsstLlUIKbxhSHHaRrtY6FbcN5nXEz4kOXz/tYKuxuPnZz9Wih5YBWcboKxut
+OMrdjUeDnckLAw1rJI+H8+jPkyOqCpcOpLI9xJxmuYJhufjbB/B8ddNT1/pjceze
+uR7coWvplKU=
+-----END CERTIFICATE-----

=== added file 'bzrlib/tests/ssl_certs/server.csr'
--- a/bzrlib/tests/ssl_certs/server.csr	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/server.csr	2008-01-05 22:09:47 +0000
@@ -0,0 +1,29 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIFBjCCAu4CAQAwgZsxCzAJBgNVBAYTAkxIMREwDwYDVQQIEwhJbnRlcm5ldDES
+MBAGA1UEBxMJTG9jYWxIb3N0MRQwEgYDVQQKEwtUZXN0aW5nIEx0ZDEVMBMGA1UE
+CxMMaHR0cHMgc2VydmVyMRIwEAYDVQQDEwlsb2NhbGhvc3QxJDAiBgkqhkiG9w0B
+CQEWFWh0dHBzX3NlcnZlckBsb2NhaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIP
+ADCCAgoCggIBALL0jXaGxv6Dve74Tu8XB6UH6cdkB8GDp/iJtBTE120z3Qa3uMJI
+xAtisTox+jBgREDNNofElAFgnL1/h8iwZGUbYHrnmWWn9oqnPk69uLnjGn/Hpas9
+bbmrmu88rkfrlIGcsV+64G7lQ1GDbealTfLl1EmwrVYMR2t3sbQ+327w/LfT/0FC
+LceRAQRHllYbVX34CN+TljMLCYYsCuvJGtJEyySYWcqgELoyp2X9Lh8gL1ZGotX2
+LY5JQVS58cLyWTsJ0LaN0RdQJrjII+0+kcA400eNw4qB7UyaLaz2X0GgBd7VQt9F
+cvKZtKIxXcVHSj4BDDiwVos11nN5c1p9NghNGsB8cCGDVTSzg197FP6LvDqjiDA0
+SuOdcROUuVjl3Ili5J2P3p3tq+IP6TxWDa8HP/XmdAGCIROyZu2/g91ry89wq4WL
+pf15j7FwRwZ8ZK477a49Mg2ch2ZzKcoKi+wq/f9lfRcDBTzUzWOUon5nMZeqK78f
+KHukPfF8Bg+e+cFlOgcCK6a4kmth1q1SA8MG0gnmfDVC13vH5wvMyJ3JI7c8/KLK
+kb+Gn/l16IbecybbfH1HO6OF4quGMs5Y95STB1nD/hqswmydHPzmOgv5pQumGzHg
+sL/v4ALN18NXks4pg6sYf5CMOkoAVBqEFX3zs2iaPde3DMmMnCwwzff/AgMBAAGg
+JTAjBgkqhkiG9w0BCQcxFhMUQ2hhbGxlbmdlIGZvciB0aGUgQ0EwDQYJKoZIhvcN
+AQEFBQADggIBAKMiuMHoAeRVk/wC5Mize0EYf5E8xYwLAkx/nTOIkNcBSmbejHsW
+kwI86+FSiUlo+ndK6UYSiFhtb8kTw299hKt5PQqkz2/FYozOvS2YEXpzJDXOHmXL
+u5vNHq0TkjgkT5F+4m6nlgLSCssQWDsyoCF5gB58D9BMyG02NKnJ9M6/Matsvz6m
+7BnQwclVPSvpYiF5FSwnYdiZAbftt+BFqgHaKqYhLnMUtX8tLjSNCBgdaItSb+Vc
+icGJuIOTqTFSH8PATd50WNXqnJxZsFZmcRKmJ8h6mNqmv6tcJ4iLPFfMLuMFskG/
+L9O4FC9vLtfhCuAGtoaWRJPQ6oYC/3HL97fn3SudwAY+u5tp7CqAzFvMkMJ0gQeI
+8xIkwFkajUCHqV0Gug9Bx+B24YTNPzYiiJ0yIlyTh4R7D9PFv3a9RMOq6bvCwexJ
+02soRu9jijTwklD6jECa/gm40s8ChFo+c3YAF2MjFk1zjd7xT+jW8Pp0uEP9ig6H
+4n+gakpvSRFz2l1DZq3rfofyqBFOdVJRJ3IWc+n79K/E7zCTSA68vfYutMj+wuzW
+mSs0vBFu+2BQDHaCwq9R9vAhh2YLJZ9v6mID5PvqFGCJ2drNaTktR9xLfpmve6oC
+mn8mlI+pUaCd52XdgpYCTlXsnieaPOEWycSxnML8UxwoFk05K+oumg6F
+-----END CERTIFICATE REQUEST-----

=== added file 'bzrlib/tests/ssl_certs/server_with_pass.key'
--- a/bzrlib/tests/ssl_certs/server_with_pass.key	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/server_with_pass.key	2008-01-05 22:09:47 +0000
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,F62A242FE077370D
+
+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
+-----END RSA PRIVATE KEY-----

=== added file 'bzrlib/tests/ssl_certs/server_without_pass.key'
--- a/bzrlib/tests/ssl_certs/server_without_pass.key	1970-01-01 00:00:00 +0000
+++ b/bzrlib/tests/ssl_certs/server_without_pass.key	2008-01-05 22:09:47 +0000
@@ -0,0 +1,51 @@
+-----BEGIN RSA PRIVATE KEY-----
+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
+-----END RSA PRIVATE KEY-----

=== modified file 'bzrlib/tests/test_http.py'
--- a/bzrlib/tests/test_http.py	2008-12-29 13:45:15 +0000
+++ b/bzrlib/tests/test_http.py	2009-01-08 16:57:10 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/transport/http/_pycurl.py'
--- a/bzrlib/transport/http/_pycurl.py	2008-12-04 17:12:46 +0000
+++ b/bzrlib/transport/http/_pycurl.py	2008-12-12 14:33:13 +0000
@@ -86,13 +86,14 @@
     """
     return pycurl.__dict__.get(symbol, default)
 
-CURLE_SSL_CACERT_BADFILE = _get_pycurl_errcode('E_SSL_CACERT_BADFILE', 77)
 CURLE_COULDNT_CONNECT = _get_pycurl_errcode('E_COULDNT_CONNECT', 7)
 CURLE_COULDNT_RESOLVE_HOST = _get_pycurl_errcode('E_COULDNT_RESOLVE_HOST', 6)
 CURLE_COULDNT_RESOLVE_PROXY = _get_pycurl_errcode('E_COULDNT_RESOLVE_PROXY', 5)
 CURLE_GOT_NOTHING = _get_pycurl_errcode('E_GOT_NOTHING', 52)
 CURLE_PARTIAL_FILE = _get_pycurl_errcode('E_PARTIAL_FILE', 18)
 CURLE_SEND_ERROR = _get_pycurl_errcode('E_SEND_ERROR', 55)
+CURLE_SSL_CACERT = _get_pycurl_errcode('E_SSL_CACERT', 60)
+CURLE_SSL_CACERT_BADFILE = _get_pycurl_errcode('E_SSL_CACERT_BADFILE', 77)
 
 
 class PyCurlTransport(HttpTransportBase):
@@ -343,11 +344,13 @@
             url = curl.getinfo(pycurl.EFFECTIVE_URL)
             mutter('got pycurl error: %s, %s, %s, url: %s ',
                     e[0], e[1], e, url)
-            if e[0] in (CURLE_SSL_CACERT_BADFILE,
-                        CURLE_COULDNT_RESOLVE_HOST,
+            if e[0] in (CURLE_COULDNT_RESOLVE_HOST,
+                        CURLE_COULDNT_RESOLVE_PROXY,
                         CURLE_COULDNT_CONNECT,
                         CURLE_GOT_NOTHING,
-                        CURLE_COULDNT_RESOLVE_PROXY,):
+                        CURLE_SSL_CACERT,
+                        CURLE_SSL_CACERT_BADFILE,
+                        ):
                 raise errors.ConnectionError(
                     'curl connection error (%s)\non %s' % (e[1], url))
             elif e[0] == CURLE_PARTIAL_FILE:
@@ -371,6 +374,22 @@
 
 def get_test_permutations():
     """Return the permutations to be used in testing."""
-    from bzrlib.tests.http_server import HttpServer_PyCurl
-    return [(PyCurlTransport, HttpServer_PyCurl),
-            ]
+    from bzrlib import tests
+    from bzrlib.tests import http_server
+    permutations = [(PyCurlTransport, http_server.HttpServer_PyCurl),]
+    if tests.HTTPSServerFeature.available():
+        from bzrlib.tests import (
+            https_server,
+            ssl_certs,
+            )
+
+        class HTTPS_pycurl_transport(PyCurlTransport):
+
+            def __init__(self, base, _from_transport=None):
+                super(HTTPS_pycurl_transport, self).__init__(base,
+                                                             _from_transport)
+                self.cabundle = str(ssl_certs.build_path('ca.crt'))
+
+        permutations.append((HTTPS_pycurl_transport,
+                             https_server.HTTPSServer_PyCurl))
+    return permutations

=== modified file 'bzrlib/transport/http/_urllib.py'
--- a/bzrlib/transport/http/_urllib.py	2008-12-04 17:12:46 +0000
+++ b/bzrlib/transport/http/_urllib.py	2008-12-12 14:33:13 +0000
@@ -165,6 +165,11 @@
 
 def get_test_permutations():
     """Return the permutations to be used in testing."""
-    from bzrlib.tests.http_server import HttpServer_urllib
-    return [(HttpTransport_urllib, HttpServer_urllib),
-            ]
+    from bzrlib import tests
+    from bzrlib.tests import http_server
+    permutations = [(HttpTransport_urllib, http_server.HttpServer_urllib),]
+    if tests.HTTPSServerFeature.available():
+        from bzrlib.tests import https_server
+        permutations.append((HttpTransport_urllib,
+                             https_server.HTTPSServer_urllib))
+    return permutations

=== modified file 'bzrlib/transport/http/ca_bundle.py'
--- a/bzrlib/transport/http/ca_bundle.py	2007-02-27 06:57:37 +0000
+++ b/bzrlib/transport/http/ca_bundle.py	2008-01-05 22:19:04 +0000
@@ -36,13 +36,13 @@
     # from "Details on Server SSL Certificates"
     # http://curl.haxx.se/docs/sslcerts.html
     #
-    # 4. If you're using the curl command line tool, you can specify your own CA
-    #    cert path by setting the environment variable CURL_CA_BUNDLE to the path
-    #    of your choice.
+    # 4. If you're using the curl command line tool, you can specify your own
+    #    CA cert path by setting the environment variable CURL_CA_BUNDLE to the
+    #    path of your choice.
     #
-    #    If you're using the curl command line tool on Windows, curl will search
-    #    for a CA cert file named "curl-ca-bundle.crt" in these directories and in
-    #    this order:
+    #    If you're using the curl command line tool on Windows, curl will
+    #    search for a CA cert file named "curl-ca-bundle.crt" in these
+    #    directories and in this order:
     #      1. application's directory
     #      2. current working directory
     #      3. Windows System directory (e.g. C:\windows\system32)

=== modified file 'doc/developers/authentication-ring.txt'
--- a/doc/developers/authentication-ring.txt	2009-01-08 09:47:27 +0000
+++ b/doc/developers/authentication-ring.txt	2009-01-08 16:57:10 +0000
@@ -211,7 +211,7 @@
   * ``port``: the port the server is listening,
 
   * ``verify_certificates``: to control certificate verification (useful
-    for self certified hosts). This applies to HTTP[S] only. Accepted values
+    for self certified hosts). This applies to HTTPS only. Accepted values
     are yes and no, default to yes.
 
   * ``path``: the branch location,




More information about the bazaar-commits mailing list