Rev 3290: Merge bzr.dev. in http://people.ubuntu.com/~robertc/baz2.0/versioned_files

Robert Collins robertc at robertcollins.net
Wed Mar 19 04:46:16 GMT 2008


At http://people.ubuntu.com/~robertc/baz2.0/versioned_files

------------------------------------------------------------
revno: 3290
revision-id:robertc at robertcollins.net-20080319044605-m3r45azfimef9mf6
parent: robertc at robertcollins.net-20080319043904-7g4imzvybc7q9l8h
parent: pqm at pqm.ubuntu.com-20080318200038-jo7mqokvib9aojt9
committer: Robert Collins <robertc at robertcollins.net>
branch nick: versionedfile.apicleanup
timestamp: Wed 2008-03-19 15:46:05 +1100
message:
  Merge bzr.dev.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzr                            bzr.py-20050313053754-5485f144c7006fa6
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
  bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
  bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
  bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
  bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
  bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
  bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
  bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
  bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
  bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
  bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
  bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
    ------------------------------------------------------------
    revno: 3287.2.9
    revision-id:pqm at pqm.ubuntu.com-20080318200038-jo7mqokvib9aojt9
    parent: pqm at pqm.ubuntu.com-20080318091102-7qlikly0ytens0we
    parent: bialix at ukr.net-20080318174156-b36d5894ia6q4xvr
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Tue 2008-03-18 20:00:38 +0000
    message:
      (James Westby) Strip "bzr_" from the start of the suggested plugin
       name.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
        ------------------------------------------------------------
        revno: 3287.7.2
        revision-id:bialix at ukr.net-20080318174156-b36d5894ia6q4xvr
        parent: jw+debian at jameswestby.net-20080317131032-8meoti7nsremfjn3
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: bzr.dev.plugins
        timestamp: Tue 2008-03-18 19:41:56 +0200
        message:
          fix markup in NEWS
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 3287.7.1
        revision-id:jw+debian at jameswestby.net-20080317131032-8meoti7nsremfjn3
        parent: pqm at pqm.ubuntu.com-20080317054003-mzukdvwi1d2icd4c
        committer: James Westby <jw+debian at jameswestby.net>
        branch nick: bzr.dev.plugins
        timestamp: Mon 2008-03-17 13:10:32 +0000
        message:
          Strip "bzr_" from the start of the suggested plugin name.
          
          When bzr tries to load a plugin from a path that isn't a valid python
          module name it will suggest the user renames it to one that is.
          
          A bzr- prefix is often not wanted, and may be a common error, so 
          suggest stripping it.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
          bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
    ------------------------------------------------------------
    revno: 3287.2.8
    revision-id:pqm at pqm.ubuntu.com-20080318091102-7qlikly0ytens0we
    parent: pqm at pqm.ubuntu.com-20080318073347-z2ccntuesfa0c6ii
    parent: bialix at ukr.net-20080318064818-3nwkj2jrf28bsive
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Tue 2008-03-18 09:11:02 +0000
    message:
      (bialix) Don't ask for a password if there is no real terminal. (re
       #60851)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
        ------------------------------------------------------------
        revno: 3260.2.3
        revision-id:bialix at ukr.net-20080318064818-3nwkj2jrf28bsive
        parent: bialix at ukr.net-20080317221652-gwq1ohxini63zhum
        parent: pqm at pqm.ubuntu.com-20080318024945-zhs03078h06fbk6l
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: stdin.isatty
        timestamp: Tue 2008-03-18 08:48:18 +0200
        message:
          merge bzr.dev
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
          bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
          bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
          bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
          bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
          bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
        ------------------------------------------------------------
        revno: 3260.2.2
        revision-id:bialix at ukr.net-20080317221652-gwq1ohxini63zhum
        parent: bialix at ukr.net-20080311221516-pmu5dnoehqujl1u8
        parent: pqm at pqm.ubuntu.com-20080317054003-mzukdvwi1d2icd4c
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: stdin.isatty
        timestamp: Tue 2008-03-18 00:16:52 +0200
        message:
          merge bzr.dev
        added:
          bzrlib/tests/blackbox/test_hooks.py test_hooks.py-20080308163236-xljgf9j41hik1x21-1
          bzrlib/tests/tree_implementations/test_annotate_iter.py test_annotate_iter.p-20080315092519-h4dc43rntmfmq16d-1
          doc/en/admin-guide/            docenadminguide-20080305135054-y7y2c986yf94zljn-1
          doc/en/admin-guide/index.txt   index.txt-20080305140741-ecw0lap8dxkxc05g-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
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          README                         README-20050309040720-8f368abf9f346b9d
          bzr                            bzr.py-20050313053754-5485f144c7006fa6
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
          bzrlib/annotate.py             annotate.py-20050922133147-7c60541d2614f022
          bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
          bzrlib/delta.py                delta.py-20050729221636-54cf14ef94783d0a
          bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
          bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
          bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
          bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
          bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
          bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
          bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
          bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
          bzrlib/merge3.py               merge3.py-20050704130834-bf0597094828a2e1
          bzrlib/missing.py              missing.py-20050812153334-097f7097e2a8bcd1
          bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
          bzrlib/plugins/launchpad/lp_registration.py lp_registration.py-20060315190948-daa617eafe3a8d48
          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/smart/client.py         client.py-20061116014825-2k6ada6xgulslami-1
          bzrlib/smart/repository.py     repository.py-20061128022038-vr5wy5bubyb8xttk-1
          bzrlib/status.py               status.py-20050505062338-431bfa63ec9b19e6
          bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
          bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
          bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
          bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
          bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
          bzrlib/tests/blackbox/test_upgrade.py test_upgrade.py-20060120060132-b41e5ed2f886ad28
          bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
          bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
          bzrlib/tests/test_annotate.py  test_annotate.py-20061213215015-sttc9agsxomls7q0-1
          bzrlib/tests/test_errors.py    test_errors.py-20060210110251-41aba2deddf936a8
          bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
          bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
          bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
          bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
          bzrlib/tests/test_merge3.py    merge3.py-20050704130834-556689114c89e6f2
          bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
          bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
          bzrlib/tests/test_upgrade.py   test_upgrade.py-20051004040251-555fe1d2bae1bc71
          bzrlib/tests/test_urlutils.py  test_urlutils.py-20060502192900-46b1f9579987cf9c
          bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
          bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
          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/transform.py            transform.py-20060105172343-dd99e54394d91687
          bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
          bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
          bzrlib/upgrade.py              history2weaves.py-20050818063535-e7d319791c19a8b2
          bzrlib/urlutils.py             urlutils.py-20060502195429-e8a161ecf8fac004
          bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
          doc/developers/lca-merge.txt   lcamerge.txt-20080103061803-9isydn4ivgwrvorw-1
          doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
          doc/en/user-guide/hooks.txt    hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
          doc/en/user-guide/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
          setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
          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
        ------------------------------------------------------------
        revno: 3260.2.1
        revision-id:bialix at ukr.net-20080311221516-pmu5dnoehqujl1u8
        parent: pqm at pqm.ubuntu.com-20080310202441-q09492ma24sdzp51
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: stdin.isatty
        timestamp: Wed 2008-03-12 00:15:16 +0200
        message:
          Don't ask a password if there is no real terminal. (#69851)
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
          bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
    ------------------------------------------------------------
    revno: 3287.2.7
    revision-id:pqm at pqm.ubuntu.com-20080318073347-z2ccntuesfa0c6ii
    parent: pqm at pqm.ubuntu.com-20080318024945-zhs03078h06fbk6l
    parent: mbp at sourcefrog.net-20080318055606-vwqdud0sxpgppybi
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Tue 2008-03-18 07:33:47 +0000
    message:
      (mbp)(trivial) add 1.4 deprecation symbol
    modified:
      bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
        ------------------------------------------------------------
        revno: 3287.6.1
        revision-id:mbp at sourcefrog.net-20080318055606-vwqdud0sxpgppybi
        parent: pqm at pqm.ubuntu.com-20080318024945-zhs03078h06fbk6l
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: integration
        timestamp: Tue 2008-03-18 16:56:06 +1100
        message:
          Add one_four deprecation
        modified:
          bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
    ------------------------------------------------------------
    revno: 3287.2.6
    revision-id:pqm at pqm.ubuntu.com-20080318024945-zhs03078h06fbk6l
    parent: pqm at pqm.ubuntu.com-20080318011718-41sghr89tjcdpzc7
    parent: bialix at ukr.net-20080317215847-m36yrjhb004kgi65
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Tue 2008-03-18 02:49:45 +0000
    message:
      (Lukas Lalinsky) Make 'mv a b' work for already renamed directories,
       like it does for files. (#107967)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
        ------------------------------------------------------------
        revno: 3249.4.2
        revision-id:bialix at ukr.net-20080317215847-m36yrjhb004kgi65
        parent: bialix at ukr.net-20080305130932-3mlfwj7bqrlitxoc
        parent: pqm at pqm.ubuntu.com-20080317054003-mzukdvwi1d2icd4c
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: mv.dir.after
        timestamp: Mon 2008-03-17 23:58:47 +0200
        message:
          merge bzr.dev
        added:
          bzrlib/directory_service.py    directory_service.py-20080305221044-vr2mkvlsk8jypa2y-1
          bzrlib/tests/blackbox/test_hooks.py test_hooks.py-20080308163236-xljgf9j41hik1x21-1
          bzrlib/tests/test_directory_service.py test_directory_servi-20080305221044-vr2mkvlsk8jypa2y-2
          bzrlib/tests/tree_implementations/test_annotate_iter.py test_annotate_iter.p-20080315092519-h4dc43rntmfmq16d-1
          doc/en/admin-guide/            docenadminguide-20080305135054-y7y2c986yf94zljn-1
          doc/en/admin-guide/index.txt   index.txt-20080305140741-ecw0lap8dxkxc05g-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
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          README                         README-20050309040720-8f368abf9f346b9d
          bzr                            bzr.py-20050313053754-5485f144c7006fa6
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
          bzrlib/annotate.py             annotate.py-20050922133147-7c60541d2614f022
          bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
          bzrlib/debug.py                debug.py-20061102062349-vdhrw9qdpck8cl35-1
          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/errors.py               errors.py-20050309040759-20512168c4e14fbd
          bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
          bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
          bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
          bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
          bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-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/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
          bzrlib/plugins/launchpad/lp_registration.py lp_registration.py-20060315190948-daa617eafe3a8d48
          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/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
          bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
          bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
          bzrlib/smart/client.py         client.py-20061116014825-2k6ada6xgulslami-1
          bzrlib/smart/repository.py     repository.py-20061128022038-vr5wy5bubyb8xttk-1
          bzrlib/status.py               status.py-20050505062338-431bfa63ec9b19e6
          bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
          bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
          bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
          bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
          bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
          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_revision_history.py test_revision_histor-20070326062311-v7co92liyuchb80w-1
          bzrlib/tests/intertree_implementations/test_compare.py test_compare.py-20060724101752-09ysswo1a92uqyoz-2
          bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
          bzrlib/tests/test_annotate.py  test_annotate.py-20061213215015-sttc9agsxomls7q0-1
          bzrlib/tests/test_errors.py    test_errors.py-20060210110251-41aba2deddf936a8
          bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
          bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
          bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
          bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
          bzrlib/tests/test_merge3.py    merge3.py-20050704130834-556689114c89e6f2
          bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
          bzrlib/tests/test_osutils.py   test_osutils.py-20051201224856-e48ee24c12182989
          bzrlib/tests/test_registry.py  test_lazy_factory.py-20060809213415-2gfvqadtvdn0phtg-2
          bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
          bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
          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_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
          bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
          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/transform.py            transform.py-20060105172343-dd99e54394d91687
          bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
          bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
          bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
          bzrlib/tsort.py                tsort.py-20051025073946-7808f6aaf7d07208
          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/configobj.txt configobj.txt-20051018184548-4949b5f17e6a19c7
          bzrlib/util/configobj/docs/validate.txt validate.txt-20051018184548-9e0e5ad913e258f5
          bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
          doc/developers/lca-merge.txt   lcamerge.txt-20080103061803-9isydn4ivgwrvorw-1
          doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
          doc/en/user-guide/hooks.txt    hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
          doc/en/user-guide/resolving_conflicts.txt resolving_conflicts.-20071122141511-0knao2lklsdsvb1q-5
          doc/en/user-guide/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
          setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
          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
        ------------------------------------------------------------
        revno: 3249.4.1
        revision-id:bialix at ukr.net-20080305130932-3mlfwj7bqrlitxoc
        parent: pqm at pqm.ubuntu.com-20080304003709-35vh1eqa8tuuq548
        parent: lalinsky at gmail.com-20080127111412-qdcn8kkknzvn5l5t
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: mv.dir.after
        timestamp: Wed 2008-03-05 15:09:32 +0200
        message:
          merge Lukas' patch and update it with case-insensitive rename check.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
        ------------------------------------------------------------
        revno: 3201.2.1
        revision-id:lalinsky at gmail.com-20080127111412-qdcn8kkknzvn5l5t
        parent: pqm at pqm.ubuntu.com-20080125195940-iwy2onaiiges6k4t
        committer: Lukáš Lalinský <lalinsky at gmail.com>
        branch nick: dir-mv
        timestamp: Sun 2008-01-27 12:14:12 +0100
        message:
          Make 'mv a b' work for already renamed directories, like it does for files
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/tests/blackbox/test_mv.py test_mv.py-20060705114902-33tkxz0o9cdshemo-1
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
    ------------------------------------------------------------
    revno: 3287.2.5
    revision-id:pqm at pqm.ubuntu.com-20080318011718-41sghr89tjcdpzc7
    parent: pqm at pqm.ubuntu.com-20080317214818-thbkv3yfh00rj2g2
    parent: mbp at sourcefrog.net-20080317044106-guta6lhn5ns9ursj
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Tue 2008-03-18 01:17:18 +0000
    message:
      (mbp) Tests should not call or reimplement reduceLockdirTimeout when it's done in a base class
    modified:
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
      bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
      bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
        ------------------------------------------------------------
        revno: 3287.5.4
        revision-id:mbp at sourcefrog.net-20080317044106-guta6lhn5ns9ursj
        parent: mbp at sourcefrog.net-20080317043859-5sty12s95qmnjuv1
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: test-cleanup
        timestamp: Mon 2008-03-17 15:41:06 +1100
        message:
          Remove one more reduceLockdirTimeout call
        modified:
          bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
        ------------------------------------------------------------
        revno: 3287.5.3
        revision-id:mbp at sourcefrog.net-20080317043859-5sty12s95qmnjuv1
        parent: mbp at sourcefrog.net-20080317043134-ok36j0eu4g4iazhx
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: test-cleanup
        timestamp: Mon 2008-03-17 15:38:59 +1100
        message:
          Remove redundant reduceLockdirTimeout calls
        modified:
          bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
          bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
          bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
        ------------------------------------------------------------
        revno: 3287.5.2
        revision-id:mbp at sourcefrog.net-20080317043134-ok36j0eu4g4iazhx
        parent: mbp at sourcefrog.net-20080317041021-ph3wr90ogt411ag4
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: test-cleanup
        timestamp: Mon 2008-03-17 15:31:34 +1100
        message:
          Change more tests to use reduceLockdirTimeout
        modified:
          bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
          bzrlib/tests/workingtree_implementations/test_locking.py test_locking.py-20060707151933-tav3o2hpibwi53u4-3
        ------------------------------------------------------------
        revno: 3287.5.1
        revision-id:mbp at sourcefrog.net-20080317041021-ph3wr90ogt411ag4
        parent: pqm at pqm.ubuntu.com-20080316165803-tisoc9mpob9z544o
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: test-cleanup
        timestamp: Mon 2008-03-17 15:10:21 +1100
        message:
          test_safe_master_lock should use reduceLockdirTimeout, not reimplement it
        modified:
          bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
    ------------------------------------------------------------
    revno: 3287.2.4
    revision-id:pqm at pqm.ubuntu.com-20080317214818-thbkv3yfh00rj2g2
    parent: pqm at pqm.ubuntu.com-20080317054003-mzukdvwi1d2icd4c
    parent: andrew.bennetts at canonical.com-20080317195319-jbcy9qhifps49smo
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2008-03-17 21:48:18 +0000
    message:
      (andrew) Greatly reduce the number of recv calls made when using
      	urllib by forcing it to use a buffered file object.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
        ------------------------------------------------------------
        revno: 3287.4.3
        revision-id:andrew.bennetts at canonical.com-20080317195319-jbcy9qhifps49smo
        parent: andrew.bennetts at canonical.com-20080317171649-n5kszez1vltj8rr1
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: urllib-recv-1-hack
        timestamp: Mon 2008-03-17 14:53:19 -0500
        message:
          A slightly neater hack for forcing buffering, thanks to John.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
        ------------------------------------------------------------
        revno: 3287.4.2
        revision-id:andrew.bennetts at canonical.com-20080317171649-n5kszez1vltj8rr1
        parent: andrew.bennetts at canonical.com-20080316195309-jw6xcslc0goezghu
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: urllib-recv-1-hack
        timestamp: Mon 2008-03-17 12:16:49 -0500
        message:
          Buffer 64k, rather than just 8k.
        modified:
          bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
        ------------------------------------------------------------
        revno: 3287.4.1
        revision-id:andrew.bennetts at canonical.com-20080316195309-jw6xcslc0goezghu
        parent: pqm at pqm.ubuntu.com-20080316165803-tisoc9mpob9z544o
        committer: Andrew Bennetts <andrew.bennetts at canonical.com>
        branch nick: urllib-recv-1-hack
        timestamp: Sun 2008-03-16 14:53:09 -0500
        message:
          A hack to make urllib not call recv(1) lots and lots.
        modified:
          bzrlib/transport/http/_urllib2_wrappers.py _urllib2_wrappers.py-20060913231729-ha9ugi48ktx481ao-1
    ------------------------------------------------------------
    revno: 3287.2.3
    revision-id:pqm at pqm.ubuntu.com-20080317054003-mzukdvwi1d2icd4c
    parent: pqm at pqm.ubuntu.com-20080317032118-1731brhtravarpa7
    parent: mbp at sourcefrog.net-20080317022635-lhx25w7y9s7l16vq
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2008-03-17 05:40:03 +0000
    message:
      Don't force gc.collect when exiting bzr script
    modified:
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
        ------------------------------------------------------------
        revno: 3287.3.1
        revision-id:mbp at sourcefrog.net-20080317022635-lhx25w7y9s7l16vq
        parent: pqm at pqm.ubuntu.com-20080316165803-tisoc9mpob9z544o
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: trivial
        timestamp: Mon 2008-03-17 13:26:35 +1100
        message:
          Don't force gc.collect when exiting bzr script
        modified:
          bzr                            bzr.py-20050313053754-5485f144c7006fa6
    ------------------------------------------------------------
    revno: 3287.2.2
    revision-id:pqm at pqm.ubuntu.com-20080317032118-1731brhtravarpa7
    parent: pqm at pqm.ubuntu.com-20080317014832-s8bbb26w0qnrklcp
    parent: mbp at sourcefrog.net-20080316230200-inw4wrjt6qlx76f2
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2008-03-17 03:21:18 +0000
    message:
      post-1.3 fixes
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 3280.3.2
        revision-id:mbp at sourcefrog.net-20080316230200-inw4wrjt6qlx76f2
        parent: mbp at sourcefrog.net-20080316230049-1ewc4zcs0rhmhfau
        author: Matt Nordhoff
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.3
        timestamp: Mon 2008-03-17 10:02:00 +1100
        message:
          Fix NEWS typo
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 3280.3.1
        revision-id:mbp at sourcefrog.net-20080316230049-1ewc4zcs0rhmhfau
        parent: mbp at sourcefrog.net-20080316093156-kdb1p636vt0sb2pt
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.3
        timestamp: Mon 2008-03-17 10:00:49 +1100
        message:
          Backup directory name is a user-affecting change (Matt Nordhoff)
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 3287.2.1
    revision-id:pqm at pqm.ubuntu.com-20080317014832-s8bbb26w0qnrklcp
    parent: pqm at pqm.ubuntu.com-20080316165803-tisoc9mpob9z544o
    parent: andrew.bennetts at canonical.com-20080316235502-fhzxpz00roqpcovl
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Mon 2008-03-17 01:48:32 +0000
    message:
      (Andrew Bennetts) Remove duplicated NEWS entry.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 3287.1.1
    revision-id:andrew.bennetts at canonical.com-20080316235502-fhzxpz00roqpcovl
    parent: pqm at pqm.ubuntu.com-20080316165803-tisoc9mpob9z544o
    committer: Andrew Bennetts <andrew.bennetts at canonical.com>
    branch nick: NEWS-nit
    timestamp: Sun 2008-03-16 18:55:02 -0500
    message:
      Remove duplicated NEWS entry.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
=== modified file 'NEWS'
--- a/NEWS	2008-03-19 04:39:04 +0000
+++ b/NEWS	2008-03-19 04:46:05 +0000
@@ -12,12 +12,30 @@
 
   CHANGES:
 
+   * When a plugin cannot be loaded as the file path is not a valid
+     python module name bzr will now strip a ``bzr_`` prefix from the
+     front of the suggested name, as many plugins (e.g. bzr-svn)
+     want to be installed without this prefix. It is a common mistake
+     to have a folder named "bzr-svn" for that plugin, especially
+     as this is what bzr branch lp:bzr-svn will give you. (James Westby,
+     Andrew Cowie)
+
   FEATURES:
 
   IMPROVEMENTS:
 
+    * Fetching data over HTTP is a bit faster when urllib is used.  This is done
+      by forcing it to recv 64k at a time when reading lines in HTTP headers,
+      rather than just 1 byte at a time.  (Andrew Bennetts)
+
   BUGFIXES:
 
+    * ``bzr mv a b`` can be now used also to rename previously renamed
+      directories, not only files. (Lukáš Lalinský, #107967)
+
+    * Don't ask for a password if there is no real terminal.
+      (Alexander Belchenko, #69851)
+
   DOCUMENTATION:
 
   API BREAKS:
@@ -48,7 +66,8 @@
 
   NOTES WHEN UPGRADING:
 
-    No special action is required from the user for this release.
+    * The backup directory created by ``upgrade`` is now called
+      ``backup.bzr``, not ``.bzr.backup``. (Martin Albisetti)
 
   CHANGES:
 
@@ -75,9 +94,6 @@
     * Version number is now shown as "1.2" or "1.2pr2", without zeroed or
       missing final fields.  (Martin Pool)
 
-    * The backup directory created by ``upgrade`` is now called
-      ``backup.bzr``, not ``.bzr.backup``. (Martin Albisetti)
-
   FEATURES:
 
     * ``branch`` and ``checkout`` can hard-link working tree files, which is
@@ -189,10 +205,6 @@
       ``Repository.get_revision_graph()`` except it includes ghosts and you can
       stop part-way through. (John Arbash Meinel)
 
-    * ``Graph.iter_ancestry`` returns the ancestry of revision ids. Similar to
-      ``Repository.get_revision_graph()`` except it includes ghosts and you can
-      stop part-way through. (John Arbash Meinel)
-
     * New module ``tools/package_mf.py`` provide custom module finder for
       python packages (improves standard python library's modulefinder.py)
       used by ``setup.py`` script while building standalone bzr.exe.

=== modified file 'bzr'
--- a/bzr	2008-03-16 14:01:20 +0000
+++ b/bzr	2008-03-17 02:26:35 +0000
@@ -127,7 +127,6 @@
     if bzrlib.trace._trace_file:
         # this is also _bzr_log
         bzrlib.trace._trace_file.flush()
-    import gc; gc.collect()
     os._exit(exit_val)
 else:
     pass    # should this give an error? - it can't be used as a lib

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2008-03-14 19:44:24 +0000
+++ b/bzrlib/builtins.py	2008-03-17 21:58:47 +0000
@@ -534,13 +534,31 @@
         if len(names_list) < 2:
             raise errors.BzrCommandError("missing file argument")
         tree, rel_names = tree_files(names_list)
+        tree.lock_write()
+        try:
+            self._run(tree, names_list, rel_names, after)
+        finally:
+            tree.unlock()
 
-        dest = names_list[-1]
-        isdir = os.path.isdir(dest)
-        if (isdir and not tree.case_sensitive and len(rel_names) == 2
-            and rel_names[0].lower() == rel_names[1].lower()):
-                isdir = False
-        if isdir:
+    def _run(self, tree, names_list, rel_names, after):
+        into_existing = osutils.isdir(names_list[-1])
+        if into_existing and len(names_list) == 2:
+            # special cases:
+            # a. case-insensitive filesystem and change case of dir
+            # b. move directory after the fact (if the source used to be
+            #    a directory, but now doesn't exist in the working tree
+            #    and the target is an existing directory, just rename it)
+            if (not tree.case_sensitive
+                and rel_names[0].lower() == rel_names[1].lower()):
+                into_existing = False
+            else:
+                inv = tree.inventory
+                from_id = tree.path2id(rel_names[0])
+                if (not osutils.lexists(names_list[0]) and
+                    from_id and inv.get_file_kind(from_id) == "directory"):
+                    into_existing = False
+        # move/rename
+        if into_existing:
             # move into existing directory
             for pair in tree.move(rel_names[:-1], rel_names[-1], after=after):
                 self.outf.write("%s => %s\n" % pair)

=== modified file 'bzrlib/errors.py'
--- a/bzrlib/errors.py	2008-03-12 05:59:01 +0000
+++ b/bzrlib/errors.py	2008-03-17 22:16:52 +0000
@@ -2582,6 +2582,11 @@
         self.timezone = timezone
 
 
+class NotATerminal(BzrError):
+
+    _fmt = 'Unable to ask for a password without real terminal.'
+
+
 class UnableEncodePath(BzrError):
 
     _fmt = ('Unable to encode %(kind)s path %(path)r in '

=== modified file 'bzrlib/plugin.py'
--- a/bzrlib/plugin.py	2008-02-20 10:36:15 +0000
+++ b/bzrlib/plugin.py	2008-03-17 13:10:32 +0000
@@ -199,9 +199,11 @@
             ## import pdb; pdb.set_trace()
             if re.search('\.|-| ', name):
                 sanitised_name = re.sub('[-. ]', '_', name)
-                warning("Unable to load %r in %r as a plugin because file path"
-                        " isn't a valid module name; try renaming it to %r."
-                        % (name, d, sanitised_name))
+                if sanitised_name.startswith('bzr_'):
+                    sanitised_name = sanitised_name[len('bzr_'):]
+                warning("Unable to load %r in %r as a plugin because the "
+                        "file path isn't a valid module name; try renaming "
+                        "it to %r." % (name, d, sanitised_name))
             else:
                 warning('Unable to load plugin %r from %r' % (name, d))
             log_exception_quietly()

=== modified file 'bzrlib/symbol_versioning.py'
--- a/bzrlib/symbol_versioning.py	2008-02-13 03:25:53 +0000
+++ b/bzrlib/symbol_versioning.py	2008-03-18 05:56:06 +0000
@@ -71,6 +71,7 @@
 one_one = "%s was deprecated in version 1.1."
 one_two = "%s was deprecated in version 1.2."
 one_three = "%s was deprecated in version 1.3."
+one_four = "%s was deprecated in version 1.4."
 
 def set_warning_method(method):
     """Set the warning method to be used by this module.

=== modified file 'bzrlib/tests/blackbox/test_mv.py'
--- a/bzrlib/tests/blackbox/test_mv.py	2008-03-03 23:04:47 +0000
+++ b/bzrlib/tests/blackbox/test_mv.py	2008-03-05 13:09:32 +0000
@@ -407,3 +407,26 @@
         self.failUnlessExists('sub/a2')
         self.assertInWorkingTree('sub/a1')
         self.assertInWorkingTree('sub/a2')
+
+    def test_mv_already_moved_directory(self):
+        """Use `bzr mv a b` to mark a directory as renamed.
+
+        https://bugs.launchpad.net/bzr/+bug/107967/
+        """
+        self.build_tree(['a/', 'c/'])
+        tree = self.make_branch_and_tree('.')
+        tree.add(['a', 'c'])
+        osutils.rename('a', 'b')
+        osutils.rename('c', 'd')
+        # mv a b should work just like it does for already renamed files
+        self.run_bzr('mv a b')
+        self.failIfExists('a')
+        self.assertNotInWorkingTree('a')
+        self.failUnlessExists('b')
+        self.assertInWorkingTree('b')
+        # and --after should work, too (technically it's ignored)
+        self.run_bzr('mv --after c d')
+        self.failIfExists('c')
+        self.assertNotInWorkingTree('c')
+        self.failUnlessExists('d')
+        self.assertInWorkingTree('d')

=== modified file 'bzrlib/tests/bzrdir_implementations/test_bzrdir.py'
--- a/bzrlib/tests/bzrdir_implementations/test_bzrdir.py	2007-12-19 13:20:40 +0000
+++ b/bzrlib/tests/bzrdir_implementations/test_bzrdir.py	2008-03-17 04:41:06 +0000
@@ -1582,12 +1582,7 @@
                 # its still held by the explicit lock we took, and the break
                 # lock should not have touched it.
                 repo = thisdir.open_repository()
-                orig_default = lockdir._DEFAULT_TIMEOUT_SECONDS
-                try:
-                    lockdir._DEFAULT_TIMEOUT_SECONDS = 1
-                    self.assertRaises(errors.LockContention, repo.lock_write)
-                finally:
-                    lockdir._DEFAULT_TIMEOUT_SECONDS = orig_default
+                self.assertRaises(errors.LockContention, repo.lock_write)
         finally:
             unused_repo.unlock()
         self.assertRaises(errors.LockBroken, master.unlock)

=== modified file 'bzrlib/tests/test_commit.py'
--- a/bzrlib/tests/test_commit.py	2007-12-21 06:34:27 +0000
+++ b/bzrlib/tests/test_commit.py	2008-03-17 04:38:59 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2005, 2006, 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
@@ -444,14 +444,10 @@
         bound = master.sprout('bound')
         wt = bound.open_workingtree()
         wt.branch.set_bound_location(os.path.realpath('master'))
-
-        orig_default = lockdir._DEFAULT_TIMEOUT_SECONDS
         master_branch.lock_write()
         try:
-            lockdir._DEFAULT_TIMEOUT_SECONDS = 1
             self.assertRaises(LockContention, wt.commit, 'silly')
         finally:
-            lockdir._DEFAULT_TIMEOUT_SECONDS = orig_default
             master_branch.unlock()
 
     def test_commit_bound_merge(self):

=== modified file 'bzrlib/tests/test_plugins.py'
--- a/bzrlib/tests/test_plugins.py	2008-02-20 10:36:15 +0000
+++ b/bzrlib/tests/test_plugins.py	2008-03-17 13:10:32 +0000
@@ -191,7 +191,7 @@
 
     def test_plugin_with_bad_name_does_not_load(self):
         # Create badly-named plugin
-        file('bad plugin-name..py', 'w').close()
+        file('bzr-bad plugin-name..py', 'w').close()
 
         # Capture output
         stream = StringIO()
@@ -207,9 +207,9 @@
         log.removeHandler(handler)
 
         self.assertContainsRe(stream.getvalue(),
-            r"Unable to load 'bad plugin-name\.' in '\.' as a plugin because"
-            " file path isn't a valid module name; try renaming it to"
-            " 'bad_plugin_name_'\.")
+            r"Unable to load 'bzr-bad plugin-name\.' in '\.' as a plugin "
+            "because the file path isn't a valid module name; try renaming "
+            "it to 'bad_plugin_name_'\.")
 
         stream.close()
 

=== modified file 'bzrlib/tests/test_smart.py'
--- a/bzrlib/tests/test_smart.py	2008-02-12 04:52:18 +0000
+++ b/bzrlib/tests/test_smart.py	2008-03-17 04:38:59 +0000
@@ -424,7 +424,6 @@
 
     def setUp(self):
         tests.TestCaseWithTransport.setUp(self)
-        self.reduceLockdirTimeout()
 
     def test_lock_write_on_unlocked_branch(self):
         backing = self.get_transport()
@@ -508,7 +507,6 @@
 
     def setUp(self):
         tests.TestCaseWithTransport.setUp(self)
-        self.reduceLockdirTimeout()
 
     def test_unlock_on_locked_branch_and_repo(self):
         backing = self.get_transport()
@@ -752,7 +750,6 @@
 
     def setUp(self):
         tests.TestCaseWithTransport.setUp(self)
-        self.reduceLockdirTimeout()
 
     def test_lock_write_on_unlocked_repo(self):
         backing = self.get_transport()
@@ -790,7 +787,6 @@
 
     def setUp(self):
         tests.TestCaseWithTransport.setUp(self)
-        self.reduceLockdirTimeout()
 
     def test_unlock_on_locked_repo(self):
         backing = self.get_transport()

=== modified file 'bzrlib/tests/workingtree_implementations/test_locking.py'
--- a/bzrlib/tests/workingtree_implementations/test_locking.py	2006-10-13 07:39:25 +0000
+++ b/bzrlib/tests/workingtree_implementations/test_locking.py	2008-03-17 04:38:59 +0000
@@ -228,13 +228,7 @@
         branch_copy.lock_write()
         try:
             try:
-                orig_default = lockdir._DEFAULT_TIMEOUT_SECONDS
-                try:
-                    lockdir._DEFAULT_TIMEOUT_SECONDS = 1
-                    self.assertRaises(errors.LockError, wt.lock_write)
-                finally:
-                    lockdir._DEFAULT_TIMEOUT_SECONDS = orig_default
-
+                self.assertRaises(errors.LockError, wt.lock_write)
                 self.assertFalse(wt.is_locked())
                 self.assertFalse(wt.branch.is_locked())
             finally:

=== modified file 'bzrlib/transport/http/_urllib2_wrappers.py'
--- a/bzrlib/transport/http/_urllib2_wrappers.py	2008-01-03 16:26:32 +0000
+++ b/bzrlib/transport/http/_urllib2_wrappers.py	2008-03-17 19:53:19 +0000
@@ -64,6 +64,18 @@
     )
 
 
+class _BufferedMakefileSocket(object):
+
+    def __init__(self, sock):
+        self.sock = sock
+
+    def makefile(self, mode='r', bufsize=-1):
+        return self.sock.makefile(mode, 65536)
+
+    def __getattr__(self, name):
+        return getattr(self.sock, name)
+
+
 # We define our own Response class to keep our httplib pipe clean
 class Response(httplib.HTTPResponse):
     """Custom HTTPResponse, to avoid the need to decorate.
@@ -81,6 +93,14 @@
     # 8k chunks should be fine.
     _discarded_buf_size = 8192
 
+    def __init__(self, sock, *args, **kwargs):
+        # httplib creates a fileobject that doesn't do buffering, which
+        # makes fp.readline() very expensive because it only reads one byte
+        # at a time.  So we wrap the socket in an object that forces
+        # sock.makefile to make a buffered file.
+        sock = _BufferedMakefileSocket(sock)
+        httplib.HTTPResponse.__init__(self, sock, *args, **kwargs)
+
     def begin(self):
         """Begin to read the response from the server.
 
@@ -534,7 +554,7 @@
             req = request
             r = response
             r.recv = r.read
-            fp = socket._fileobject(r)
+            fp = socket._fileobject(r, bufsize=65536)
             resp = urllib2.addinfourl(fp, r.msg, req.get_full_url())
             resp.code = r.status
             resp.msg = r.reason

=== modified file 'bzrlib/ui/__init__.py'
--- a/bzrlib/ui/__init__.py	2007-08-15 04:33:34 +0000
+++ b/bzrlib/ui/__init__.py	2008-03-11 22:15:16 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006, 2007 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
@@ -14,8 +14,6 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
-
-
 """UI abstraction.
 
 This tells the library how to display things to the user.  Through this
@@ -35,6 +33,7 @@
 import getpass
 
 from bzrlib import (
+    errors,
     osutils,
     progress,
     trace,
@@ -125,6 +124,8 @@
                 return False
 
     def get_non_echoed_password(self, prompt):
+        if not sys.stdin.isatty():
+            raise errors.NotATerminal()
         encoding = osutils.get_terminal_encoding()
         return getpass.getpass(prompt.encode(encoding, 'replace'))
 

=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py	2008-03-07 14:15:10 +0000
+++ b/bzrlib/workingtree_4.py	2008-03-17 21:58:47 +0000
@@ -662,8 +662,8 @@
         if self._inventory is not None:
             update_inventory = True
             inv = self.inventory
+            to_dir_id = to_entry[0][2]
             to_dir_ie = inv[to_dir_id]
-            to_dir_id = to_entry[0][2]
         else:
             update_inventory = False
 



More information about the bazaar-commits mailing list