Rev 2646: Transport connection sharing in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Sun Jul 22 19:09:07 BST 2007


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

------------------------------------------------------------
revno: 2646
revision-id: pqm at pqm.ubuntu.com-20070722180904-wy7y7oyi32wbghgf
parent: pqm at pqm.ubuntu.com-20070721163603-p17kh2wgzkhbef1d
parent: v.ladeuil+lp at free.fr-20070722171918-7pt18yku39667dzy
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sun 2007-07-22 19:09:04 +0100
message:
  Transport connection sharing
added:
  bzrlib/tests/commands/         commands-20070518182516-v16lhwkl07jbj1k2-1
  bzrlib/tests/commands/__init__.py __init__.py-20070520095518-ecfl8531fxgjeycj-1
  bzrlib/tests/commands/test_branch.py test_branch.py-20070520173042-ou3a796w3xn1y8ps-1
  bzrlib/tests/commands/test_cat.py test_cat.py-20070525170351-vg2apsfb5j413913-1
  bzrlib/tests/commands/test_checkout.py test_checkout.py-20070525151718-vm7ligd5px5dtmda-1
  bzrlib/tests/commands/test_init.py test_init.py-20070514074921-audbcdd8o56dpame-1
  bzrlib/tests/commands/test_init_repository.py test_init_repository-20070525163812-87xw0678ky573l27-1
  bzrlib/tests/commands/test_merge.py test_merge.py-20070525163813-v8yfs5wu77hjsx0o-1
  bzrlib/tests/commands/test_missing.py test_missing.py-20070525171057-qr1z4sleurlp9b5v-1
  bzrlib/tests/commands/test_pull.py test_pull.py-20070525144918-cgmunk4ici2krjnd-1
  bzrlib/tests/commands/test_push.py test_push.py-20070525122003-gc1ob0ea0nueoqgj-1
  bzrlib/tests/transport_util.py transportutil.py-20070525113600-5v2igk89s8fensom-1
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/bundle/__init__.py      changeset.py-20050513021216-b02ab57fb9738913
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
  bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
  bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
  bzrlib/smart/client.py         client.py-20061116014825-2k6ada6xgulslami-1
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
  bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
  bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
  bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
  bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
  bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
  bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
  bzrlib/tests/test_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/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/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
  bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
    ------------------------------------------------------------
    revno: 2485.8.63
    merged: v.ladeuil+lp at free.fr-20070722171918-7pt18yku39667dzy
    parent: v.ladeuil+lp at free.fr-20070722171805-u050omkduhfxijy0
    parent: pqm at pqm.ubuntu.com-20070721163603-p17kh2wgzkhbef1d
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-22 19:19:18 +0200
    message:
      merge bzr.dev at 2645
    ------------------------------------------------------------
    revno: 2485.8.62
    merged: v.ladeuil+lp at free.fr-20070722171805-u050omkduhfxijy0
    parent: v.ladeuil+lp at free.fr-20070722154459-520ws2gnifghkpgy
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-22 19:18:05 +0200
    message:
      From review comments, fix typos and deprecate some functions.
      
      * bzrlib/transport/__init__.py:
      (urlescape, urlunescape): Deprecated.
    ------------------------------------------------------------
    revno: 2485.8.61
    merged: v.ladeuil+lp at free.fr-20070722154459-520ws2gnifghkpgy
    parent: v.ladeuil+lp at free.fr-20070720185929-lg19h2k1lfomgtxa
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-22 17:44:59 +0200
    message:
      From review comments, use a private scheme for testing.
      
      * bzrlib/transport/__init__.py:
      (_unregister_urlparse_netloc_protocol): New function.
      
      * bzrlib/tests/transport_util.py:
      (InstrumentedTransport.__init__): Use a dedicated scheme.
      (TestCaseWithConnectionHookedTransport.setUp): Reworked to
      register the new transport.
      (TestCaseWithConnectionHookedTransport.get_url): Use our dedicated
      scheme.
      (TestCaseWithConnectionHookedTransport.install_hooks,
      TestCaseWithConnectionHookedTransport.reset_hooks): Registering
      transport is setUp job.
    ------------------------------------------------------------
    revno: 2485.8.60
    merged: v.ladeuil+lp at free.fr-20070720185929-lg19h2k1lfomgtxa
    parent: v.ladeuil+lp at free.fr-20070720165741-a15p58sjtdm8qd6i
    parent: pqm at pqm.ubuntu.com-20070720161548-nppg3mvd38gbuaid
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-07-20 20:59:29 +0200
    message:
      merge bzr.dev at 2642
    ------------------------------------------------------------
    revno: 2485.8.59
    merged: v.ladeuil+lp at free.fr-20070720165741-a15p58sjtdm8qd6i
    parent: v.ladeuil+lp at free.fr-20070715112418-9nn4n6esxv60ny4b
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-07-20 18:57:41 +0200
    message:
      Update from review comments.
      
      * bzrlib/tests/blackbox/test_branch.py:
      (TestRemoteBranch): New class ensuring that working trees are not
      created remotely.
      
      * bzrlib/transport/sftp.py:
      (SFTPTransport.__init__): Make from_transport parameter private.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport.__init__): Make from_transport parameter private.
      (RemoteHTTPTransport.__init__): Make from_transport parameter private.
      (RemoteHTTPTransport.clone): Use _from_transport as a keyword
      parameter.
      
      * bzrlib/transport/http/_urllib.py:
      (HttpTransport_urllib.__init__): Make from_transport parameter private.
      
      * bzrlib/transport/http/_pycurl.py:
      (PyCurlTransport.__init__): Make from_transport parameter private.
      
      * bzrlib/transport/http/__init__.py:
      (HttpTransportBase.__init__): Make from_transport parameter private.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport.__init__): Make from_transport parameter private.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport.__init__): Make from_transport parameter private.
      (ConnectedTransport.clone, ConnectedTransport._reuse_for): Use
      _from_transport as a keyword parameter.
      
      * bzrlib/tests/commands/test_push.py:
      (TestPush.test_push): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_pull.py:
      (TestPull.test_pull): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_missing.py:
      (TestMissing.test_missing): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_merge.py:
      (TestMerge.test_merge): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_init_repository.py:
      (TestInitRepository.setUp): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_init.py:
      (TestInit.setUp): Don't add self.reset_hooks to cleanup, install_hooks
      did it.
      
      * bzrlib/tests/commands/test_checkout.py:
      (TestCheckout.test_checkout): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/tests/commands/test_cat.py:
      (TestCat.test_cat): Don't add self.reset_hooks to cleanup,
      install_hooks did it. Skip the test until sftp transport/server problem
      is fixed.
      
      * bzrlib/tests/commands/test_branch.py:
      (TestBranch.setUp): Don't add self.reset_hooks to cleanup,
      install_hooks did it.
      
      * bzrlib/builtins.py:
      (_get_bundle_helper): New function. Factored out from merge and pull.
      (cmd_pull.run, cmd_merge.run): Use _get_bundle_helper.
      (_merge_helper): Add possible_transports as the last parameter.
      
      * bzrlib/tests/transport_util.py: 
      Renamed from bzrlib/tests/TransportUtil.py.  Switch from ftp to sftp
      transport and server.
    ------------------------------------------------------------
    revno: 2485.8.58
    merged: v.ladeuil+lp at free.fr-20070715112418-9nn4n6esxv60ny4b
    parent: v.ladeuil+lp at free.fr-20070715111719-uybjoupp5yhm57ce
    parent: pqm at pqm.ubuntu.com-20070713074627-93zxs9uh528y0fki
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-15 13:24:18 +0200
    message:
      merge bzr.dev at 1617
    ------------------------------------------------------------
    revno: 2485.8.57
    merged: v.ladeuil+lp at free.fr-20070715111719-uybjoupp5yhm57ce
    parent: v.ladeuil+lp at free.fr-20070715104412-ghj18yhkvjwpd54b
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-15 13:17:19 +0200
    message:
      Cosmetic changes.
    ------------------------------------------------------------
    revno: 2485.8.56
    merged: v.ladeuil+lp at free.fr-20070715104412-ghj18yhkvjwpd54b
    parent: v.ladeuil+lp at free.fr-20070714152237-7ay6ua7lvf5n876r
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-07-15 12:44:12 +0200
    message:
      Fix bug #112173 and bzr branch multiple connections.
      
      * bzrlib/tests/bzrdir_implementations/test_bzrdir.py:
      (TestBzrDir.sproutOrSkip): Rework the method now that sprout do
      not raises NotLocalUrl anymore.
      
      * bzrlib/bzrdir.py:
      (BzrDir.sprout): Add a possible_transports parameter for reuse.
      Don't create a working tree on non local transports (bug #112173).
      (BzrDirPreSplitOut.sprout): Add a possible_transports
      parameter (not used) to comply with the new sprout signature.
      
      * bzrlib/builtins.py:
      (cmd_branch.run): Fix the multiple connections bug by reusing the
      transport.
    ------------------------------------------------------------
    revno: 2485.8.55
    merged: v.ladeuil+lp at free.fr-20070714152237-7ay6ua7lvf5n876r
    parent: v.ladeuil+lp at free.fr-20070714135520-y2310bi8fzclx410
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sat 2007-07-14 17:22:37 +0200
    message:
      Cleanup connection accessors.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport.__init__): Use _SharedConnection.
      
      * bzrlib/transport/__init__.py:
      (_SharedConnection): New container class for connections. Avoid
      some uglyness in the accessors.
      (ConnectedTransport.__init__): Use _SharedConnection.
      (ConnectedTransport._set_shared_connection): Deleted.
      (ConnectedTransport._set_connection,
      ConnectedTransport._get_connection,
      ConnectedTransport._get_credentials,
      ConnectedTransport._update_credentials): Cleanup.
    ------------------------------------------------------------
    revno: 2485.8.54
    merged: v.ladeuil+lp at free.fr-20070714135520-y2310bi8fzclx410
    parent: v.ladeuil+lp at free.fr-20070713100223-g8a01alb47mxfrio
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sat 2007-07-14 15:55:20 +0200
    message:
      Refactor medium uses by making a distinction betweem shared and real medium.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport.__init__): Rework the medium building.
      (RemoteTransport.get_shared_medium): Give access to the shared
      connection.
      (RemoteTransport.get_bytes, RemoteTransport.readv,
      RemoteTransport.disconnect): Use the real medium.
      (RemoteTCPTransport._build_medium): Simplified.
      (RemoteSSHTransport._build_medium): Simplified.
      (RemoteHTTPTransport): Simplified.
      
      * bzrlib/transport/__init__.py:
      (Transport.get_shared_medium): Mimick get_smart_medium but
      provides access to the shared medium.
      (ConnectedTransport.__init__): Rename connection_sharing to
      shared_connection as it bettre fits the use by smart stransports.
      (ConnectedTransport._set_shared_connection,
      ConnectedTransport._get_shared_connection): New accessors.
      (ConnectedTransport._set_connection,
      ConnectedTransport._get_connection,
      ConnectedTransport._get_credentials,
      ConnectedTransport._update_credentials): Use the new accessors.
      
      * bzrlib/tests/test_transport_implementations.py:
      (TransportTests.test_connection_sharing): Adapt the test as smart
      transports have a connection even before the first request.
      
      * bzrlib/tests/test_smart_transport.py:
      (WritableEndToEndTests.test_simple_clone_conn): Use the real medium.
      
      * bzrlib/smart/client.py:
      (_SmartClient): Build from a shared medium.
      (_SmartClient.get_smart_medium): Provides access to the real
      medium.
      (_SmartClient.call_expecting_body,
      _SmartClient.call_with_body_bytes): Use the real medium.
      
      * bzrlib/remote.py:
      (RemoteBzrDir.__init__, RemoteRepository.__init__,
      RemoteBranch.__init__): Use the shared medium to build the smart
      client.
      
      * bzrlib/bzrdir.py:
      (RemoteBzrDirFormat.initialize_on_transport): Use the shared
      medium to build the smart client.
    ------------------------------------------------------------
    revno: 2485.8.53
    merged: v.ladeuil+lp at free.fr-20070713100223-g8a01alb47mxfrio
    parent: v.ladeuil+lp at free.fr-20070713095933-ej6wrg0m57qm0a5u
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-07-13 12:02:23 +0200
    message:
      Apply test_connection_sharing to all transports to make smart
      transports fail the test.
      
      * bzrlib/tests/test_transport_implementations.py:
      (TransportTests.test_connection_sharing): Moved and updated from
      test_transport.py.
      
      * bzrlib/tests/test_transport.py:
      (TestConnectedTransport.test_connection_sharing): Moved to
      test_transport_implementations.py.
    ------------------------------------------------------------
    revno: 2485.8.52
    merged: v.ladeuil+lp at free.fr-20070713095933-ej6wrg0m57qm0a5u
    parent: v.ladeuil+lp at free.fr-20070712082209-z67t7qlthtrtvm7l
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-07-13 11:59:33 +0200
    message:
      Update deprecation version.
    ------------------------------------------------------------
    revno: 2485.8.51
    merged: v.ladeuil+lp at free.fr-20070712082209-z67t7qlthtrtvm7l
    parent: v.ladeuil+lp at free.fr-20070704122856-7jn5e6ou08ukimof
    parent: pqm at pqm.ubuntu.com-20070712075207-pgz7ur4rxmklmrxr
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Thu 2007-07-12 10:22:09 +0200
    message:
      merge bzr.dev @ 2604
    ------------------------------------------------------------
    revno: 2485.8.50
    merged: v.ladeuil+lp at free.fr-20070704122856-7jn5e6ou08ukimof
    parent: v.ladeuil+lp at free.fr-20070629144004-6qwwujm20j1zsi58
    parent: pqm at pqm.ubuntu.com-20070704095320-41p0gvstimqqzvtx
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Wed 2007-07-04 14:28:56 +0200
    message:
      merge bzr.dev @ 2584 resolving conflicts
    ------------------------------------------------------------
    revno: 2485.8.49
    merged: v.ladeuil+lp at free.fr-20070629144004-6qwwujm20j1zsi58
    parent: v.ladeuil+lp at free.fr-20070620142506-txsb1v8538kpsafw
    parent: pqm at pqm.ubuntu.com-20070629060700-wou1v3btg9otmum4
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-06-29 16:40:04 +0200
    message:
      nzrge bzr.dev at 2565
    ------------------------------------------------------------
    revno: 2485.8.48
    merged: v.ladeuil+lp at free.fr-20070620142506-txsb1v8538kpsafw
    parent: v.ladeuil+lp at free.fr-20070611073743-eqmrwxje32agbzpx
    parent: pqm at pqm.ubuntu.com-20070620092141-cniojlk01bdec2a1
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Wed 2007-06-20 16:25:06 +0200
    message:
      merge bzr.dev @ 2540
    ------------------------------------------------------------
    revno: 2485.8.47
    merged: v.ladeuil+lp at free.fr-20070611073743-eqmrwxje32agbzpx
    parent: v.ladeuil+lp at free.fr-20070611071017-0e6xt2o4e1y75195
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Mon 2007-06-11 09:37:43 +0200
    message:
      Remove _initial_split_url hack.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport.__init__): Use _split_url.
      (ConnectedTransport._split_url): Really a static method.
      (ConnectedTransport._unsplit_url): Really a static method.
      
      * bzrlib/transport/remote.py:
      (RemoteTCPTransport.__init__): Set default port. Doing so in
      __init__ is perfectly valid and cleaner than the
      _initial_split_url hack.
    ------------------------------------------------------------
    revno: 2485.8.46
    merged: v.ladeuil+lp at free.fr-20070611071017-0e6xt2o4e1y75195
    parent: v.ladeuil+lp at free.fr-20070610110956-n2xuhc39romr4aju
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Mon 2007-06-11 09:10:17 +0200
    message:
      Add some remarks about current limitations in connection sharing.
    ------------------------------------------------------------
    revno: 2485.8.45
    merged: v.ladeuil+lp at free.fr-20070610110956-n2xuhc39romr4aju
    parent: v.ladeuil+lp at free.fr-20070610110710-2xi9ditvln347qpj
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-06-10 13:09:56 +0200
    message:
      Take jam's remarks into account.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport._get_credentials): Delete dead code.
      
      * bzrlib/bzrdir.py:
      (BzrDir.create, BzrDir.create_branch_convenience,
      BzrDir.create_standalone_workingtree): Following jam's remark,
      delete safe_unicode protection.
    ------------------------------------------------------------
    revno: 2485.8.44
    merged: v.ladeuil+lp at free.fr-20070610110710-2xi9ditvln347qpj
    parent: v.ladeuil+lp at free.fr-20070608121205-3yf92bbzzca9tgpm
    parent: v.ladeuil+lp at free.fr-20070608162657-5ohy71agv39clh1h
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Sun 2007-06-10 13:07:10 +0200
    message:
      merge after bzr bind (why did I have to do that ?)
        ------------------------------------------------------------
        revno: 2485.8.43.1.2
        merged: v.ladeuil+lp at free.fr-20070608162657-5ohy71agv39clh1h
        parent: v.ladeuil+lp at free.fr-20070608160750-pr023mg4apgxb2us
        parent: pqm at pqm.ubuntu.com-20070608134340-flu6dlpzyo7izrrs
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: bzr.connection.sharing
        timestamp: Fri 2007-06-08 18:26:57 +0200
        message:
          merge bzr.dev at 2520
        ------------------------------------------------------------
        revno: 2485.8.43.1.1
        merged: v.ladeuil+lp at free.fr-20070608160750-pr023mg4apgxb2us
        parent: v.ladeuil+lp at free.fr-20070608121205-3yf92bbzzca9tgpm
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: bzr.connection.sharing
        timestamp: Fri 2007-06-08 18:07:50 +0200
        message:
          Explain that we share connection and credentials (from
          jam-back-to-the-future remarks preceding review).
          
          * bzrlib/transport/__init__.py:
          (ConnectedTransport): Rename _connection to _connection_sharing to
          undelrline the fact that we share the connection *and* the
          associated credentials.
    ------------------------------------------------------------
    revno: 2485.8.43
    merged: v.ladeuil+lp at free.fr-20070608121205-3yf92bbzzca9tgpm
    parent: v.ladeuil+lp at free.fr-20070608085227-dkwzu18gxemnwwha
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: bzr.connection.sharing
    timestamp: Fri 2007-06-08 14:12:05 +0200
    message:
      Cleaning.
    ------------------------------------------------------------
    revno: 2485.8.42
    merged: v.ladeuil+lp at free.fr-20070608085227-dkwzu18gxemnwwha
    parent: v.ladeuil+lp at free.fr-20070607113627-2fudc24suivry84k
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-08 10:52:27 +0200
    message:
      Finish (almost) remote refactoring. Test suite passing.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport.__init__): Refactoring of connection
      sharing. This is incomplete if we want to achieve connction
      sharing across reconnections but enough to make the test suite
      pass.
      (RemoteTransport.clone): Deleted.
      (RemoteTransport._build_medium): Default implementation (mainly
      used for tests).
      (RemoteTransport.get_smart_client,
      RemoteTransport.get_smart_medium): Give back the shared medium
      instead of the private one. This is incomplete but a step in the
      right direction.
      (RemoteTCPTransport._build_medium,
      RemoteHTTPTransport._build_medium): Create and set the connection
      if not cloning.
    ------------------------------------------------------------
    revno: 2485.8.41
    merged: v.ladeuil+lp at free.fr-20070607113627-2fudc24suivry84k
    parent: v.ladeuil+lp at free.fr-20070607112936-xkiqdgbkjibjjkh6
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-06-07 13:36:27 +0200
    message:
      Finish http refactoring. Test suite passing.
      
      * bzrlib/transport/http/_urllib.py:
      (HttpTransport_urllib.__init__): Simplified.
      (HttpTransport_urllib._remote_path): New method. Get rid of
      authinfo only for urllib2 purposes.
      (HttpTransport_urllib._perform): Rewrite the connection sync
      between transport and request.
      (HttpTransport_urllib._get, HttpTransport_urllib._get,
      HttpTransport_urllib._post): Updated for the new connection handling.
      
      * bzrlib/transport/http/_pycurl.py:
      (PyCurlTransport.__init__): Simplified.
      (PyCurlTransport._get_curl): New method.
      (PyCurlTransport.has, PyCurlTransport._get_full)
      (PyCurlTransport._get_ranged, PyCurlTransport._post): Use _get_curl().
    ------------------------------------------------------------
    revno: 2485.8.40
    merged: v.ladeuil+lp at free.fr-20070607112936-xkiqdgbkjibjjkh6
    parent: v.ladeuil+lp at free.fr-20070607112203-2c3190a3ppqg9c6m
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-06-07 13:29:36 +0200
    message:
      Fix typo.
    ------------------------------------------------------------
    revno: 2485.8.39
    merged: v.ladeuil+lp at free.fr-20070607112203-2c3190a3ppqg9c6m
    parent: v.ladeuil+lp at free.fr-20070606142608-i9ufaqewadslf1cn
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-06-07 13:22:03 +0200
    message:
      Add tests around connection reuse.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport._update_credentials): New method for
      transports that can authenticate again while keeping the
      connection alive.
      
      * bzrlib/tests/test_transport_implementations.py:
      (TransportTests.test__reuse_for,
      TransportTests.test_reuse_connection_for_various_paths): More
      tests for _reuse_for.
      
      * bzrlib/tests/test_transport.py:
      (TestConnectedTransport.test_connection_sharing_propagate_credentials):
      Add test for _update_credentials.
      (TestReusedTransports.test_reuse_same_transport): More tests.
    ------------------------------------------------------------
    revno: 2485.8.38
    merged: v.ladeuil+lp at free.fr-20070606142608-i9ufaqewadslf1cn
    parent: v.ladeuil+lp at free.fr-20070606135202-mqhxcv6z57uce434
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Wed 2007-06-06 16:26:08 +0200
    message:
      Finish sftp refactoring. Test suite passing.
      
      * bzrlib/transport/sftp.py:
      (clear_connection_cache): Deprecated.
      (_sftp_connect, _sftp_connect_uncached): Deleted.
      (SFTPTransport.__init__): Simplified.
      (SFTPTransport._create_connection): New method. Copied from
      _sftp_connect_uncached
      (SFTPTransport._get_sftp): New method. Ensures that the connection
      is established.
      (SFTPTransport.clone): Deleted.
      (SFTPTransport.has, SFTPTransport.get, SFTPTransport.readv,
      SFTPTransport._put,
      SFTPTransport._put_non_atomic_helper._open_and_write_file,
      SFTPTransport._mkdir, SFTPTransport.append_file,
      SFTPTransport.rename, SFTPTransport._rename_and_overwrite,
      SFTPTransport.delete, SFTPTransport.rmdir, SFTPTransport.stat):
      Use _get_sftp.
      
      * bzrlib/tests/test_transport_implementations.py:
      (TransportTests.test_connection_error): Simplified now that sftp
      does not connection on construction.
      
      * bzrlib/tests/test_sftp_transport.py:
      (SFTPLockTests.test_sftp_locks): Delete test_multiple_connections.
      (FakeSFTPTransport): Deleted.
      (SFTPNonServerTest.test_parse_url_with_home_dir,
      SFTPNonServerTest.test_relpath,
      SSHVendorBadConnection.test_bad_connection_paramiko): Delete the
      from_transport parameter as it's not needed anymore.
      (SFTPLatencyKnob.test_latency_knob_slows_transport,
      SFTPLatencyKnob.test_default): Force connection by issuing a
      request.
    ------------------------------------------------------------
    revno: 2485.8.37
    merged: v.ladeuil+lp at free.fr-20070606135202-mqhxcv6z57uce434
    parent: v.ladeuil+lp at free.fr-20070606084207-6fa0f02eadtezlrf
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Wed 2007-06-06 15:52:02 +0200
    message:
      Fix merge multiple connections. Test suite *not* passing (sftp
      refactoring pending but unrelated to merge).
      
      * bzrlib/builtins.py:
      (cmd_merge.run): Fix the multiple connections bug by reusing the
      tramsport used to check for a bundle and keep all other used
      transports in possible_transports.
      (_merge_helper): Add a possible_transports parameter for
      reuse.
      
      * bzrlib/transport/__init__.py:
      (Transport._reuse_for): By default, Transports are not reusable.
      (ConnectedTransport._reuse_for): ConnectedTransports are reusable
      under certain conditions.
      (_urlRE): Fix misleading group name.
      (_try_transport_factories): Moved after get_transport (another use
      case for moved lines). The do_catching_redirections was
      incorrectly inserted between get_transport and
      _try_transport_factories.
      
      * bzrlib/tests/test_transport.py:
      (TestReusedTransports.test_reuse_same_transport)
      (TestReusedTransports.test_don_t_reuse_different_transport): Add
      more tests.
      
      * bzrlib/merge.py:
      (_get_tree, Merger.set_other): Add a possible_transports parameter
      for reuse.
      
      * bzrlib/bzrdir.py:
      (BzrDir.open_containing): Add a possible_transports parameter for
      reuse.
      
      * bzrlib/branch.py:
      (Branch.open_containing): Add a possible_transports parameter for
      reuse.
    ------------------------------------------------------------
    revno: 2485.8.36
    merged: v.ladeuil+lp at free.fr-20070606084207-6fa0f02eadtezlrf
    parent: v.ladeuil+lp at free.fr-20070605155212-k2za98dhobeikxhn
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Wed 2007-06-06 10:42:07 +0200
    message:
      Fix test suite to provide a better debugging experience.
      
      * bzrlib/tests/TransportUtil.py:
      (TestCaseWithConnectionHookedTransport.setUp.cleanup): hooks are
      installed on demand but always reset if installed.
      (TestCaseWithConnectionHookedTransport.install_hooks,
      TestCaseWithConnectionHookedTransport.reset_hooks): New methods
      giving a finer control on when hooks are active.
      
      * bzrlib/tests/commands/test_push.py:
      (TestPush.test_push): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_pull.py:
      (TestPull.test_pull): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_missing.py:
      (TestMissing.test_missing): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_merge.py:
      (TestMerge.test_merge): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_init_repository.py:
      (TestInitRepository.setUp): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_init.py:
      (TestInit.setUp): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_checkout.pyL
      (TestCheckout.test_checkout): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_cat.py:
      (TestCat.test_cat): Install hooks when necessary.
      
      * bzrlib/tests/commands/test_branch.py:
      (TestBranch.setUp): Install hooks when necessary.
    ------------------------------------------------------------
    revno: 2485.8.35
    merged: v.ladeuil+lp at free.fr-20070605155212-k2za98dhobeikxhn
    parent: v.ladeuil+lp at free.fr-20070603155219-f7dtbnwdqrhs0kpk
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Tue 2007-06-05 17:52:12 +0200
    message:
      Fix pull multiple connections.
      
      * bzrlib/builtins.py:
      (cmd_pull.run): If 'location' wasn't a bundle, the transport may
      be reused.
      
      * bzrlib/branch.py:
      (Branch.open_from_transport): New method.
      
      * bzrlib/bundle/__init__.py:
      (read_mergeable_from_transport): New method.
    ------------------------------------------------------------
    revno: 2485.8.34
    merged: v.ladeuil+lp at free.fr-20070603155219-f7dtbnwdqrhs0kpk
    parent: v.ladeuil+lp at free.fr-20070603130158-kfeitm6gxuxt0b1j
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sun 2007-06-03 17:52:19 +0200
    message:
      Refactor mutiple connections detection and fix false positives. Only
      merge and pull are still bougs.
      
      * bzrlib/tests/commands/test_push.py:
      (TestPush.test_push): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/commands/test_missing.py:
      (TestMissing.test_missing): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/commands/test_merge.py:
      (TestMerge.test_merge): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/commands/test_checkout.py:
      (TestCheckout.test_checkout): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/commands/test_cat.py:
      (TestCat.test_cat): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/commands/test_branch.py:
      (TestBranch.setUp): Reset connections after branch and tree
      creation.
      
      * bzrlib/tests/TransportUtil.py:
      (TransportHooks.__init__): Use _set_connection instead of
      _get_FTP.
      (ConnectionHookedTransport): Replace _get_FTP by _set_connection.
      (TestCaseWithConnectionHookedTransport.setUp): Replace _get_FTP by
      _set_connection.
      (TestCaseWithConnectionHookedTransport.reset_connections): New
      method.
      (TestCaseWithConnectionHookedTransport.set_connection_hook):
      Replace get_connection_hook.
    ------------------------------------------------------------
    revno: 2485.8.33
    merged: v.ladeuil+lp at free.fr-20070603130158-kfeitm6gxuxt0b1j
    parent: v.ladeuil+lp at free.fr-20070603125849-hn65adfp30185xyu
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sun 2007-06-03 15:01:58 +0200
    message:
      ftp connection sharing refactored. Tests passing.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport._create_connection): New method. Refactored from
      _get_FTP and implementing the new connection sharing mechanism.
      (FtpTransport._reconnect): New method. Helper.
    ------------------------------------------------------------
    revno: 2485.8.32
    merged: v.ladeuil+lp at free.fr-20070603125849-hn65adfp30185xyu
    parent: v.ladeuil+lp at free.fr-20070603125726-xrnl6fu53figdd0x
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sun 2007-06-03 14:58:49 +0200
    message:
      Keep credentials used at connection creation for reconnection purposes.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport._init_connection): New method. Keep related
      code together.
      (ConnectedTransport._set_connection): Add a credentials parameter.
      (ConnectedTransport._get_credentials): New method.
      
      * bzrlib/tests/test_transport.py:
      (TestConnectedTransport.test_connection_sharing_propagate_credentials):
      New test.
    ------------------------------------------------------------
    revno: 2485.8.31
    merged: v.ladeuil+lp at free.fr-20070603125726-xrnl6fu53figdd0x
    parent: v.ladeuil+lp at free.fr-20070602165428-sgwamqtdhksglmlu
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sun 2007-06-03 14:57:26 +0200
    message:
      Fix NEWS.
    ------------------------------------------------------------
    revno: 2485.8.30
    merged: v.ladeuil+lp at free.fr-20070602165428-sgwamqtdhksglmlu
    parent: v.ladeuil+lp at free.fr-20070602161853-miwtge8q1fjjjhvu
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sat 2007-06-02 18:54:28 +0200
    message:
      Implement reliable connection sharing.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport.__init__): Use a list to contain the
      connection to ensure proper sharing when transports needs to
      reconnect or if transport is cloned before creating the
      connection.
      
      * bzrlib/tests/test_transport.py:
      (TestConnectedTransport.test_connection_sharing): New tests.
    ------------------------------------------------------------
    revno: 2485.8.29
    merged: v.ladeuil+lp at free.fr-20070602161853-miwtge8q1fjjjhvu
    parent: v.ladeuil+lp at free.fr-20070602152234-ry0ngv0zbx9yxse0
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sat 2007-06-02 18:18:53 +0200
    message:
      Cometic changes (and a typo).
    ------------------------------------------------------------
    revno: 2485.8.28
    merged: v.ladeuil+lp at free.fr-20070602152234-ry0ngv0zbx9yxse0
    parent: v.ladeuil+lp at free.fr-20070602144026-bvhq9zlis7l6qe7j
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sat 2007-06-02 17:22:34 +0200
    message:
      Further simplifications and doc updates.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport._urlencode_abspath): Deleted. Useless now.
      (ConnectedTransport._urldecode_abspath): Deleted. Useless now.
    ------------------------------------------------------------
    revno: 2485.8.27
    merged: v.ladeuil+lp at free.fr-20070602144026-bvhq9zlis7l6qe7j
    parent: v.ladeuil+lp at free.fr-20070601204435-bd379jw1ux7id111
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Sat 2007-06-02 16:40:26 +0200
    message:
      Hearing jam saying "vila, you're trying too hard", I simplified again.
      
      * bzrlib/transport/sftp.py:
      (SFTPUrlHandling): Simplified to the point only _remote_path
      remains at which point _remote_path have been put under
      SFTPTransport and the class itself deleted.
      (SFTPTransport._remote_path): This is the only point where home
      dir related processing needs to occur. (another use case for
      tracking moving lines).
      
      * bzrlib/tests/test_sftp_transport.py:
      (SFTPTransportTestRelativeRoot.test__remote_path_relative_root):
      Internally we use '/~/' to indicate home dir relative paths, only
      _remote_path will strip that.
    ------------------------------------------------------------
    revno: 2485.8.26
    merged: v.ladeuil+lp at free.fr-20070601204435-bd379jw1ux7id111
    parent: v.ladeuil+lp at free.fr-20070601202646-wuriw6z7rfwks5ny
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-01 22:44:35 +0200
    message:
      Finish remote refactoring. Test suite passing.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport.__init__): Simplified.
      (RemoteTransport._build_medium): New abstract method.
      (RemoteTransport.clone): Call the real __class__ constructor and
      provide the transport to clone from.
      (RemoteTransport._unparse_url): Deleted.
      (RemoteTCPTransport.__init__): Deleted.
      (RemoteTCPTransport._initial_split_url): New method. Set the
      default port.
      (RemoteTCPTransport._build_medium): New method.
      (RemoteSSHTransport.__init__): Deleted.
      (RemoteSSHTransport._build_medium): New method.
      (RemoteHTTPTransport.__init__): Updated for cloning.
      (RemoteHTTPTransport.abspath): Deleted. The inherited method is
      enough.
      (RemoteHTTPTransport.clone): Updated for cloning.
    ------------------------------------------------------------
    revno: 2485.8.25
    merged: v.ladeuil+lp at free.fr-20070601202646-wuriw6z7rfwks5ny
    parent: v.ladeuil+lp at free.fr-20070601100205-i8hq7x0zm8k79g90
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-01 22:26:46 +0200
    message:
      Separate abspath from _remote_path, the intents are different.
      
      * bzrlib/transport/sftp.py:
      (SFTPUrlHandling._combine_paths_respecting_home_dir): New method.
      (SFTPUrlHandling.abspath): Take home dir into account explicitely.
      (SFTPUrlHandling._remote_path): Simplified.
      (SFTPTransport.__init__): Cleanup cloning.
      
      * bzrlib/transport/http/_urllib.py: 
      Revert the previous _remote_path -> _unqualified_abspath renaming.
      
      * bzrlib/transport/http/_pycurl.py:
      Revert the previous _remote_path -> _unqualified_abspath renaming.
      
      * bzrlib/transport/http/__init__.py:
      (HttpTransportBase._remote_path): Re-introduce _remote_path
      instead of _unqualified_abspath.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport.__init__): Cleanup cloning.
      (FtpTransport.clone): Deleted. The inherited one is enough.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport.__init__): Copy password *after* splitting the
      url if needed.
      (ConnectedTransport.clone): Generic clone method.
      (ConnectedTransport._split_url): Cleanup.
      (ConnectedTransport._initial_split_url): New method that daughter
      classes can override.
      (ConnectedTransport.abspath): Do not call _remote_path, the intent
      is different.
      
      * bzrlib/tests/test_transport_implementations.py:
      Cleanup imports.
      (TransportTests.test_clone_preserve_info): New test.
      
      * bzrlib/tests/test_sftp_transport.py:
      (FakeSFTPTransport): Add a dummy get_connection method.
      (SFTPNonServerTest.test_parse_url_with_home_dir): Temporarily
      disable the password checking.
    ------------------------------------------------------------
    revno: 2485.8.24
    merged: v.ladeuil+lp at free.fr-20070601100205-i8hq7x0zm8k79g90
    parent: v.ladeuil+lp at free.fr-20070601080226-5styxtzexznctvg0
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-01 12:02:05 +0200
    message:
      Finish http refactoring. Test suite passing.
      
      * bzrlib/transport/http/_pycurl.py: 
      Replaces _real_abspath by _unqualified_abspath.
      
      * bzrlib/transport/http/_urllib.py:
      Replaces _real_abspath by _unqualified_abspath.
      
      * bzrlib/transport/http/__init__.py:
      (HttpTransportBase.abspath): Deleted.
      (HttpTransportBase._unqualified_abspath): Kind of _remote_path for
      hhtp, replaces _real_abspath.
      
      * bzrlib/tests/test_http.py:
      (TestHttpTransportUrls.test_invalid_http_urls): Delete the test
      for directories, we are not listable anyway.
    ------------------------------------------------------------
    revno: 2485.8.23
    merged: v.ladeuil+lp at free.fr-20070601080226-5styxtzexznctvg0
    parent: v.ladeuil+lp at free.fr-20070601072550-oku4t5llxk4invum
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-01 10:02:26 +0200
    message:
      Assert the accepted schemes for sftp and ftp.
      
      * bzrlib/transport/sftp.py:
      (SFTPTransport.__init__): assert the accepted scheme.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport.__init__): assert the accepted schemes.
    ------------------------------------------------------------
    revno: 2485.8.22
    merged: v.ladeuil+lp at free.fr-20070601072550-oku4t5llxk4invum
    parent: v.ladeuil+lp at free.fr-20070531181534-7dh1f70t6x8tq2mc
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-06-01 09:25:50 +0200
    message:
      Finish ftp refactoring. Test suite passing.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport.__init__): Simplified.
      (FtpTransport._unparse_url): Deleted.
      (FtpTransport._abspath): Deleted and reimplemented as a
      specialisation of _remote_path. The heart is: we don't support
      Unicode paths :-/
      (FtpTransport.abspath): Deleted.
    ------------------------------------------------------------
    revno: 2485.8.21
    merged: v.ladeuil+lp at free.fr-20070531181534-7dh1f70t6x8tq2mc
    parent: v.ladeuil+lp at free.fr-20070531181210-jcwx0x2t1wqathbv
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-05-31 20:15:34 +0200
    message:
      Simplify debug.
      
      * bzrlib/tests/test_transport_implementations.py:
      (TransportTests.test_connect_twice_is_same_content): Slightly
      changed to ease debug.
    ------------------------------------------------------------
    revno: 2485.8.20
    merged: v.ladeuil+lp at free.fr-20070531181210-jcwx0x2t1wqathbv
    parent: v.ladeuil+lp at free.fr-20070531180111-xef34xmn8l3hjyz0
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-05-31 20:12:10 +0200
    message:
      Refactor SFTPTransport. Test suite passes.
      
      * bzrlib/transport/sftp.py:
      (SFTPUrlHandling): Simplified.
      (SFTPTransport._remote_path): Deleted. SFTPUrlHandling now has a
      simpler version.
      
      * bzrlib/tests/test_sftp_transport.py:
      Refactor the tests, most of them have gone to TestConnectedTransport.
      (SFTPNonServerTest.test_parse_url_with_home_dir): Renamed from
      test_parse_url and simplified to keep only specific tests.
    ------------------------------------------------------------
    revno: 2485.8.19
    merged: v.ladeuil+lp at free.fr-20070531180111-xef34xmn8l3hjyz0
    parent: v.ladeuil+lp at free.fr-20070531175656-uwy1n9l8x3im9evb
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-05-31 20:01:11 +0200
    message:
      Add a new ConnectedTransport class refactored from [s]ftp and http.
      
      * bzrlib/transport/__init__.py:
      (split_url): Deprecated.
      (ConnectedTransport): New class.
      
      * bzrlib/tests/test_transport.py:
      (TestConnectedTransport): New class.
    ------------------------------------------------------------
    revno: 2485.8.18
    merged: v.ladeuil+lp at free.fr-20070531175656-uwy1n9l8x3im9evb
    parent: v.ladeuil+lp at free.fr-20070531175417-vtcav2eh81c38clk
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-05-31 19:56:56 +0200
    message:
      PathNotChild inherits from PathError, not BzrError.
      
      * bzrlib/errors.py:
      (PathNotChild): Really a PathError.
    ------------------------------------------------------------
    revno: 2485.8.17
    merged: v.ladeuil+lp at free.fr-20070531175417-vtcav2eh81c38clk
    parent: v.ladeuil+lp at free.fr-20070530071516-gd5g28s954tfz63g
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Thu 2007-05-31 19:54:17 +0200
    message:
      Fix the fix.
      
      * bzrlib/builtins.py:
      (cmd_missing.run): Oops, add the missing '\n'.
    ------------------------------------------------------------
    revno: 2485.8.16
    merged: v.ladeuil+lp at free.fr-20070530071516-gd5g28s954tfz63g
    parent: v.ladeuil+lp at free.fr-20070530071006-hsj03kfrky5h3xrq
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Wed 2007-05-30 09:15:16 +0200
    message:
      Create a new, empty, ConnectedTransport class.
      
      * bzrlib/transport/sftp.py: 
      (SFTPUrlHandling): Based on ConnectedTransport.
      
      * bzrlib/transport/remote.py:
      (RemoteTransport): Based on ConnectedTransport.
      
      * bzrlib/transport/http/__init__.py:
      (HttpTransportBase): Based on ConnectedTransport.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport): Based on ConnectedTransport.
      
      * bzrlib/transport/__init__.py:
      (ConnectedTransport): New class.
    ------------------------------------------------------------
    revno: 2485.8.15
    merged: v.ladeuil+lp at free.fr-20070530071006-hsj03kfrky5h3xrq
    parent: v.ladeuil+lp at free.fr-20070529133516-z5bc236n3qk5b6ex
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Wed 2007-05-30 09:10:06 +0200
    message:
      Delete the ftp connection cache.
      
      * bzrlib/transport/ftp.py:
      (_find_FTP): Deleted.
      (FtpTransport._get_FTP): Create a new connection if none is
      available.
    ------------------------------------------------------------
    revno: 2485.8.14
    merged: v.ladeuil+lp at free.fr-20070529133516-z5bc236n3qk5b6ex
    parent: v.ladeuil+lp at free.fr-20070529132124-zszi9sihkjcro6ko
    parent: v.ladeuil+lp at free.fr-20070529131741-df4zd9ko5y1w1g6d
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Tue 2007-05-29 15:35:16 +0200
    message:
      merge fix for bug 111702
        ------------------------------------------------------------
        revno: 2476.3.13
        merged: v.ladeuil+lp at free.fr-20070529131741-df4zd9ko5y1w1g6d
        parent: v.ladeuil+lp at free.fr-20070504103507-cm0woizea22taavd
        parent: pqm at pqm.ubuntu.com-20070525050023-ip6kst9coq8a32z5
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Tue 2007-05-29 15:17:41 +0200
        message:
          merge bzr.dev at 2495
        ------------------------------------------------------------
        revno: 2476.3.12
        merged: v.ladeuil+lp at free.fr-20070504103507-cm0woizea22taavd
        parent: v.ladeuil+lp at free.fr-20070504103356-c371vuio9ldhnaw8
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Fri 2007-05-04 12:35:07 +0200
        message:
          Fix bug #111702 with a first attempt to refactor Transport.get_transport()
        ------------------------------------------------------------
        revno: 2476.3.11
        merged: v.ladeuil+lp at free.fr-20070504103356-c371vuio9ldhnaw8
        parent: v.ladeuil+lp at free.fr-20070504102643-3qbwrvmvzjildjez
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Fri 2007-05-04 12:33:56 +0200
        message:
          Cosmetic changes.
        ------------------------------------------------------------
        revno: 2476.3.10
        merged: v.ladeuil+lp at free.fr-20070504102643-3qbwrvmvzjildjez
        parent: v.ladeuil+lp at free.fr-20070503212944-naxq1qsq297uxauz
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Fri 2007-05-04 12:26:43 +0200
        message:
          Add a test for create_branch_convenience. Mark some places to test for multiple connections.
        ------------------------------------------------------------
        revno: 2476.3.9
        merged: v.ladeuil+lp at free.fr-20070503212944-naxq1qsq297uxauz
        parent: v.ladeuil+lp at free.fr-20070503212714-3sbdmehsv8kemomw
        parent: pqm at pqm.ubuntu.com-20070503194912-pzlcms91kk2uqfdo
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Thu 2007-05-03 23:29:44 +0200
        message:
          merge bzr.dev at 2480
        ------------------------------------------------------------
        revno: 2476.3.8
        merged: v.ladeuil+lp at free.fr-20070503212714-3sbdmehsv8kemomw
        parent: v.ladeuil+lp at free.fr-20070503124529-3na89ialmyl9bogy
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Thu 2007-05-03 23:27:14 +0200
        message:
          Mark transports that need to be instrumented or refactored to check
          multiple connections. Various cosmetic changes.
        ------------------------------------------------------------
        revno: 2476.3.7
        merged: v.ladeuil+lp at free.fr-20070503124529-3na89ialmyl9bogy
        parent: v.ladeuil+lp at free.fr-20070503113827-25fhckdmd2oslags
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Thu 2007-05-03 14:45:29 +0200
        message:
          Fix failing tests.
          
          * tests/test_bzrdir.py:
          (SampleBzrDirFormat.initialize): Add a transports parameter for reuse.
        ------------------------------------------------------------
        revno: 2476.3.6
        merged: v.ladeuil+lp at free.fr-20070503113827-25fhckdmd2oslags
        parent: v.ladeuil+lp at free.fr-20070503095947-k2o8rnp5ug6uriu1
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Thu 2007-05-03 13:38:27 +0200
        message:
          Fix the 'init connects multiple times' in a different way.
          
          * transport/__init__.py:
          (get_transport): Make transports default to None instead of [],
          it's easier and less confusing in its other uses.
          
          * tests/test_bzrdir.py:
          (TestBzrDirFormat): Remove the test, the new fix is harder to test
          for. What we really want to test is that *connections* are reused,
          LocalTransport.clone create new objects anyway, so there is no way
          to verify that a LocalTransport is really reused. So we must
          instrument transports that use connection to be able to catch
          multiple connections.
          
          * bzrdir.py:
          (BzrDir.create): Add a transports parameter for reuse.
          (BzrDir.create_branch_convenience): Add a transports parameter for
          reuse.
          (BzrDirFormat.initialize): Add a transports parameter for reuse.
          
          * builtins.py:
          (cmd_init.run): Pass the known transport to
          create_branch_convenience in its own list.
        ------------------------------------------------------------
        revno: 2476.3.5
        merged: v.ladeuil+lp at free.fr-20070503095947-k2o8rnp5ug6uriu1
        parent: v.ladeuil+lp at free.fr-20070502203101-prcuwowzkz5qh0gn
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Thu 2007-05-03 11:59:47 +0200
        message:
          Naive implementation of transport reuse by Transport.get_transport().
          
          * transport/__init__.py:
          (get_transport): Accept a list of reusable transports as a
          parameter.
          
          * tests/test_transport.py:
          (TestReusedTransports): Some basic tests.
        ------------------------------------------------------------
        revno: 2476.3.4
        merged: v.ladeuil+lp at free.fr-20070502203101-prcuwowzkz5qh0gn
        parent: v.ladeuil+lp at free.fr-20070502201837-od1q12zbvr90kyni
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Wed 2007-05-02 22:31:01 +0200
        message:
          Add tests.
          
          * tests/test_bzrdir.py: 
          (TestBzrDirFormat): Add tests for the new parameters.
        ------------------------------------------------------------
        revno: 2476.3.3
        merged: v.ladeuil+lp at free.fr-20070502201837-od1q12zbvr90kyni
        parent: v.ladeuil+lp at free.fr-20070502162141-zwqhrx0ydx7hzwv0
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Wed 2007-05-02 22:18:37 +0200
        message:
          Fix bug #111702.
          
          * bzrdir.py:
          (BzrDir.create_branch_convenience): Add 'transport' as an
          alternate way to specify the URL to create the branch at.
          
          * builtins.py:
          (cmd_init.run): We have a transport, use it.
        ------------------------------------------------------------
        revno: 2476.3.2
        merged: v.ladeuil+lp at free.fr-20070502162141-zwqhrx0ydx7hzwv0
        parent: v.ladeuil+lp at free.fr-20070502144224-xgusmp6ra32m055m
        parent: john at arbash-meinel.com-20070502145420-k2vebnl0rd45q8kk
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Wed 2007-05-02 18:21:41 +0200
        message:
          merge jam's second fix for bug 75721
        ------------------------------------------------------------
        revno: 2476.3.1
        merged: v.ladeuil+lp at free.fr-20070502144224-xgusmp6ra32m055m
        parent: pqm at pqm.ubuntu.com-20070502125159-zpnij2o99tlddedp
        parent: john at arbash-meinel.com-20070502143655-id25373m3lgue8ke
        committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
        branch nick: 111702
        timestamp: Wed 2007-05-02 16:42:24 +0200
        message:
          merge jam's fix for bug 75721
    ------------------------------------------------------------
    revno: 2485.8.13
    merged: v.ladeuil+lp at free.fr-20070529132124-zszi9sihkjcro6ko
    parent: v.ladeuil+lp at free.fr-20070529131404-lnsmdchfkfhnrvrw
    parent: pqm at pqm.ubuntu.com-20070525050023-ip6kst9coq8a32z5
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Tue 2007-05-29 15:21:24 +0200
    message:
      merge bzr.dev at 2495
    ------------------------------------------------------------
    revno: 2485.8.12
    merged: v.ladeuil+lp at free.fr-20070529131404-lnsmdchfkfhnrvrw
    parent: v.ladeuil+lp at free.fr-20070525174710-y23iej03rnb2su18
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Tue 2007-05-29 15:14:04 +0200
    message:
      Cosmetic change.
      
      * bzrlib/transport/ftp.py:
      (FtpServer.setUp): Update comment.
    ------------------------------------------------------------
    revno: 2485.8.11
    merged: v.ladeuil+lp at free.fr-20070525174710-y23iej03rnb2su18
    parent: v.ladeuil+lp at free.fr-20070525171252-hsooebpkqtb3j6ef
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 19:47:10 +0200
    message:
      Fix some display leaks in tests.
      
      * bzrlib/tests/commands/test_cat.py:
      (TestCat.setUp): Redirect stdout as cat uses it directly (via
      several indirections which ending in Tree.print_file).
      
      * bzrlib/builtins.py (cmd_missing): 
      Fix some PEP8 issues. Use self.outf instead of 'print'.
    ------------------------------------------------------------
    revno: 2485.8.10
    merged: v.ladeuil+lp at free.fr-20070525171252-hsooebpkqtb3j6ef
    parent: v.ladeuil+lp at free.fr-20070525163929-l6x2jv17ogc9q7s4
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 19:12:52 +0200
    message:
      Add test for cat and missing.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_cat and test_missing.
      
      * bzrlib/tests/commands/test_cat.py: 
      New file.
      
      * bzrlib/tests/commands/test_missing.py: 
      New file.
    ------------------------------------------------------------
    revno: 2485.8.9
    merged: v.ladeuil+lp at free.fr-20070525163929-l6x2jv17ogc9q7s4
    parent: v.ladeuil+lp at free.fr-20070525151818-xpagxvflu5j3yiq6
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 18:39:29 +0200
    message:
      Add test for init-repository and merge.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_init_repository and test_merge.
      
      * bzrlib/tests/commands/test_merge.py: 
      New file.
      
      * bzrlib/tests/commands/test_init_repository.py: 
      New file.
    ------------------------------------------------------------
    revno: 2485.8.8
    merged: v.ladeuil+lp at free.fr-20070525151818-xpagxvflu5j3yiq6
    parent: v.ladeuil+lp at free.fr-20070525151105-iabak02mwjjxrxty
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 17:18:18 +0200
    message:
      Add test for checkout.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_checkout.
      
      * bzrlib/tests/commands/test_checkout.py: 
      New file.
    ------------------------------------------------------------
    revno: 2485.8.7
    merged: v.ladeuil+lp at free.fr-20070525151105-iabak02mwjjxrxty
    parent: v.ladeuil+lp at free.fr-20070525144142-wp4vof8hjjn3g9zx
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 17:11:05 +0200
    message:
      Add test for pull.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_pull.
      
      * bzrlib/tests/commands/test_pull.py: 
      New file.
    ------------------------------------------------------------
    revno: 2485.8.6
    merged: v.ladeuil+lp at free.fr-20070525144142-wp4vof8hjjn3g9zx
    parent: v.ladeuil+lp at free.fr-20070525113840-s4puzzxhbspe6mop
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 16:41:42 +0200
    message:
      Fix the 'FtpServer' so that it can handle full bzr commands.
      
      * bzrlib/transport/ftp.py:
      (FtpServer.setUp): Allows for 10000 requests instead of 1000 or
      the server dies peacefully and so quietly that the client still
      waits for him to asnswer the requests.
      (FtpServer._asyncore_loop_ignore_EBADF): Add a FIXME waiting for
      more understanding no how to report the problem.
      
      * bzrlib/tests/commands/test_branch.py:
      (TestBranch): Tests combinations of local and remote branches.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_push.
      
      * bzrlib/tests/commands/test_push.py: 
      New file.
    ------------------------------------------------------------
    revno: 2485.8.5
    merged: v.ladeuil+lp at free.fr-20070525113840-s4puzzxhbspe6mop
    parent: v.ladeuil+lp at free.fr-20070520173839-e5d44epigc5ungdh
    committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
    branch nick: reuse.transports
    timestamp: Fri 2007-05-25 13:38:40 +0200
    message:
      Factor out InstrumentedTransport.
      
      * bzrlib/tests/commands/test_init.py: 
      Simplified by using TransportUtils
      
      * bzrlib/tests/commands/test_branch.py: 
      Simplified by using TransportUtils
      
      * bzrlib/tests/TransportUtil.py: 
      Factored out from commands/test_init.py and
      commands/test_branch.py. Another use case for tracking lines moved
      across files.
    ------------------------------------------------------------
    revno: 2485.8.4
    merged: v.ladeuil+lp at free.fr-20070520173839-e5d44epigc5ungdh
    parent: v.ladeuil+lp at free.fr-20070520095758-6ci8iwmirzd5y6yu
    committer: v.ladeuil+lp at free.fr
    branch nick: reuse.transports
    timestamp: Sun 2007-05-20 18:38:39 +0100
    message:
      Add tests for branch command.
      
      * bzrlib/tests/commands/test_init.py: 
      Fix copyright.
      
      * bzrlib/tests/commands/__init__.py:
      (test_suite): Add test_branch.
      
      * bzrlib/tests/commands/test_branch.py: 
      New file. Test the branch command.
    ------------------------------------------------------------
    revno: 2485.8.3
    merged: v.ladeuil+lp at free.fr-20070520095758-6ci8iwmirzd5y6yu
    parent: v.ladeuil+lp at free.fr-20070518182031-gbg2cgidv5l20x9p
    committer: v.ladeuil+lp at free.fr
    branch nick: reuse.transports
    timestamp: Sun 2007-05-20 10:57:58 +0100
    message:
      Change the file naming to clearly separate the command behavior
      testing.
      
      * bzrlib/tests/__init__.py:
      (packages_to_test): Add tests.commands.
      
      * bzrlib/tests/commands/__init__.py: 
      New file. Add all command tests to the test suite.
    ------------------------------------------------------------
    revno: 2485.8.2
    merged: v.ladeuil+lp at free.fr-20070518182031-gbg2cgidv5l20x9p
    parent: v.ladeuil+lp at free.fr-20070515174032-qzdkangpv29l9e7g
    committer: v.ladeuil+lp at free.fr
    branch nick: reuse.transports
    timestamp: Fri 2007-05-18 19:20:31 +0100
    message:
      Takes Robert comments into account.
      
      * bzrlib/transport/ftp.py:
      (FtpTransport.__init__): Write a better explanation.
      
      * bzrlib/tests/test_init.py:
      (InstrumentedTransport): Just make hooks a class attribute.
      (InstrumentedTransport._get_FTP): Run hook directly in the for
      loop.
      (TransportHooks.run_hook, TransportHooks.uninstall_hook): Not
      needed. The hooks should be cleaned up by the test itself.
      (TestInit.setUp.cleanup): Resset to default hooks.
    ------------------------------------------------------------
    revno: 2485.8.1
    merged: v.ladeuil+lp at free.fr-20070515174032-qzdkangpv29l9e7g
    parent: pqm at pqm.ubuntu.com-20070510055501-w262sk5hl33vmd19
    committer: v.ladeuil+lp at free.fr
    branch nick: reuse.transports
    timestamp: Tue 2007-05-15 18:40:32 +0100
    message:
      Add a test that check that init connect only once. It fails.
      
      * __init__.py:
      (test_suite): Register the new test class.
      
      * test_init.py: 
      (InstrumentedTransport): A transport that can track connections.
      (TransportHooks): Transport specific hooks.
      (TestInit): Iniit command behavior tests.
      
      * ftp.py:
      (FtpTransport.__init__): Mark place that need fixing regarding
      transport connection sharing
      
      * builtins.py:
      (cmd_init.run): Mark places that need fixing regarding transport
      connection sharing.

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



More information about the bazaar-commits mailing list