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

Robert Collins robertc at robertcollins.net
Sun Sep 23 21:29:48 BST 2007


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

------------------------------------------------------------
revno: 2773
revision-id: robertc at robertcollins.net-20070923202913-23jnssq8sqdv208i
parent: robertc at robertcollins.net-20070923202654-uykkufjgaeiz67l2
parent: pqm at pqm.ubuntu.com-20070923202533-vzfy37j7bpkwo21z
committer: Robert Collins <robertc at robertcollins.net>
branch nick: repository
timestamp: Mon 2007-09-24 06:29:13 +1000
message:
  Merge bzr.dev.
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
  bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
  bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
  bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
  bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
  bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
  bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
  bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
  bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
  bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
  bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
  bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
  bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
  bzrlib/tests/test_trace.py     testtrace.py-20051110225523-a21117fc7a07eeff
  bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
  bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.24
    revision-id: pqm at pqm.ubuntu.com-20070923202533-vzfy37j7bpkwo21z
    parent: pqm at pqm.ubuntu.com-20070922170226-ex2ydmlyboaoj87c
    parent: robertc at robertcollins.net-20070923191242-zhem9hyu4s3iv0is
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Sun 2007-09-23 21:25:33 +0100
    message:
      (robertc) Various test fixes and tweaks for packs. (Robert Collins).
    modified:
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
      bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_info.py      test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
      bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.1.4.2
        revision-id: robertc at robertcollins.net-20070923191242-zhem9hyu4s3iv0is
        parent: robertc at robertcollins.net-20070914021941-wjd6iu3rnqarh07q
        committer: Robert Collins <robertc at robertcollins.net>
        branch nick: pack-support
        timestamp: Mon 2007-09-24 05:12:42 +1000
        message:
          Review feedback.
        modified:
          bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
          bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.1.4.1
        revision-id: robertc at robertcollins.net-20070914021941-wjd6iu3rnqarh07q
        parent: pqm at pqm.ubuntu.com-20070913193317-hi3rhwxhbrviw7hz
        committer: Robert Collins <robertc at robertcollins.net>
        branch nick: pack-support
        timestamp: Fri 2007-09-14 12:19:41 +1000
        message:
          Various test fixes and tweaks for packs.
        modified:
          bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
          bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
          bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
          bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
          bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
          bzrlib/tests/test_info.py      test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.23
    revision-id: pqm at pqm.ubuntu.com-20070922170226-ex2ydmlyboaoj87c
    parent: pqm at pqm.ubuntu.com-20070922162518-jn1nr11x32ep32mv
    parent: bialix at ukr.net-20070922162037-d1ym5gbli9utowto
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Sat 2007-09-22 18:02:26 +0100
    message:
      win32-specific fixes (bialix)
    modified:
      bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
      bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
      bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
      bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21.2.1
        revision-id: bialix at ukr.net-20070922162037-d1ym5gbli9utowto
        parent: pqm at pqm.ubuntu.com-20070921081743-jhdchcp1wiwmw0jv
        parent: bialix at ukr.net-20070920213249-z3v3qop4mhyj6lir
        parent: bialix at ukr.net-20070920214615-v1a3x1f05sgtrop2
        parent: bialix at ukr.net-20070921123048-l12m4d9h4tj8rzg6
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: approved.branch5
        timestamp: Sat 2007-09-22 19:20:37 +0300
        message:
          merge approved chunks
        modified:
          bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
          bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
          bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
          bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
          bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
          bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
          bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
          bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
            ------------------------------------------------------------
            revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.14.4.1
            revision-id: bialix at ukr.net-20070920214615-v1a3x1f05sgtrop2
            parent: pqm at pqm.ubuntu.com-20070920125023-upjqmzln7mjtvj1h
            committer: Alexander Belchenko <bialix at ukr.net>
            branch nick: 2
            timestamp: Fri 2007-09-21 00:46:15 +0300
            message:
              provide non-empty locations.conf for test_branch.TestBranchFormat5.test_set_push_location
            modified:
              bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
            ------------------------------------------------------------
            revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.14.3.1
            revision-id: bialix at ukr.net-20070921123048-l12m4d9h4tj8rzg6
            parent: pqm at pqm.ubuntu.com-20070920125023-upjqmzln7mjtvj1h
            committer: Alexander Belchenko <bialix at ukr.net>
            branch nick: 5
            timestamp: Fri 2007-09-21 15:30:48 +0300
            message:
              using functions from osutils instead of os.path.*
            modified:
              bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
              bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
              bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
              bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
              bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
              bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.14.2.1
        revision-id: bialix at ukr.net-20070920213249-z3v3qop4mhyj6lir
        parent: pqm at pqm.ubuntu.com-20070920125023-upjqmzln7mjtvj1h
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: 1
        timestamp: Fri 2007-09-21 00:32:49 +0300
        message:
          multiparent.py: workaround for windows bug: .tell() for files opened in 'ab' mode before any write returns 0
        modified:
          bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.22
    revision-id: pqm at pqm.ubuntu.com-20070922162518-jn1nr11x32ep32mv
    parent: pqm at pqm.ubuntu.com-20070921081743-jhdchcp1wiwmw0jv
    parent: bialix at ukr.net-20070922154348-dte2o3le0f8n30iq
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Sat 2007-09-22 17:25:18 +0100
    message:
      Trivial fix for 'bzr reconfigure' (Rob Weir)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21.1.4
        revision-id: bialix at ukr.net-20070922154348-dte2o3le0f8n30iq
        parent: rweir at ertius.org-20070922060835-kg519btg6kiyuf4y
        committer: Alexander Belchenko <bialix at ukr.net>
        branch nick: rob.weir
        timestamp: Sat 2007-09-22 18:43:48 +0300
        message:
          NEWS
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21.1.3
        revision-id: rweir at ertius.org-20070922060835-kg519btg6kiyuf4y
        parent: rweir at ertius.org-20070922004044-0s4vv2q6e7bdovms
        committer: Rob Weir <rweir at ertius.org>
        branch nick: bzr-reconfigure-with-no-args
        timestamp: Sat 2007-09-22 16:08:35 +1000
        message:
          add check of error text.
        modified:
          bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21.1.2
        revision-id: rweir at ertius.org-20070922004044-0s4vv2q6e7bdovms
        parent: rweir at ertius.org-20070921234816-ixwjcntu98m0t1vb
        committer: Rob Weir <rweir at ertius.org>
        branch nick: bzr-reconfigure-with-no-args
        timestamp: Sat 2007-09-22 10:40:44 +1000
        message:
          use BzrCommandError from imported name 'errors'.
        modified:
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21.1.1
        revision-id: rweir at ertius.org-20070921234816-ixwjcntu98m0t1vb
        parent: pqm at pqm.ubuntu.com-20070921081743-jhdchcp1wiwmw0jv
        committer: Rob Weir <rweir at ertius.org>
        branch nick: bzr-reconfigure-with-no-args
        timestamp: Sat 2007-09-22 09:48:16 +1000
        message:
          add blackbox test for 'bzr reconfigure', which now fails.
        modified:
          bzrlib/tests/blackbox/test_reconfigure.py test_reconfigure.py-20070908173426-khfo5fi2rgzgtwj3-1
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.21
    revision-id: pqm at pqm.ubuntu.com-20070921081743-jhdchcp1wiwmw0jv
    parent: pqm at pqm.ubuntu.com-20070921064952-v0xvjk4fo14c0p7a
    parent: robertc at robertcollins.net-20070921070831-53v2gzumoto1phf8
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Fri 2007-09-21 09:17:43 +0100
    message:
      (robertc) Push the special casing of text adding with random ids further down the stack avoiding many miss-case index lookups. (Robert Collins)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.16.2.2
        revision-id: robertc at robertcollins.net-20070921070831-53v2gzumoto1phf8
        parent: robertc at robertcollins.net-20070921063509-7ohd4716ecor5d30
        parent: pqm at pqm.ubuntu.com-20070921051316-85muv96iv0duh31j
        committer: Robert Collins <robertc at robertcollins.net>
        branch nick: integration
        timestamp: Fri 2007-09-21 17:08:31 +1000
        message:
          Merge bzr.dev.
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
          bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
          bzrlib/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
          bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
          bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
          bzrlib/tests/inventory_implementations/basics.py basics.py-20070903044446-kdjwbiu1p1zi9phs-1
          bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
          bzrlib/tests/test_osutils.py   test_osutils.py-20051201224856-e48ee24c12182989
          bzrlib/tests/test_workingtree_4.py test_workingtree_4.p-20070223025758-531n3tznl3zacv2o-1
          bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
          bzrlib/tests/workingtree_implementations/test_rename_one.py test_rename_one.py-20070226161242-2d8ibdedl700jgio-1
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
        ------------------------------------------------------------
        revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.16.2.1
        revision-id: robertc at robertcollins.net-20070921063509-7ohd4716ecor5d30
        parent: pqm at pqm.ubuntu.com-20070921005024-anlkzk5nrdtujta4
        committer: Robert Collins <robertc at robertcollins.net>
        branch nick: knits
        timestamp: Fri 2007-09-21 16:35:09 +1000
        message:
          * Commit no longer checks for new text keys during insertion when the
            revision id was deterministically unique. (Robert Collins)
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
          bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.20
    revision-id: pqm at pqm.ubuntu.com-20070921064952-v0xvjk4fo14c0p7a
    parent: pqm at pqm.ubuntu.com-20070921051316-85muv96iv0duh31j
    parent: mbp at sourcefrog.net-20070921061309-6uwzovw08llb2zdz
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Fri 2007-09-21 07:49:52 +0100
    message:
      show locale, encodings, plugins in error tracebacks (mbp)
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
      bzrlib/tests/test_trace.py     testtrace.py-20051110225523-a21117fc7a07eeff
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.17.1.2
    revision-id: mbp at sourcefrog.net-20070921061309-6uwzovw08llb2zdz
    parent: mbp at sourcefrog.net-20070921030710-koafxqdakilf56t8
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: trivial
    timestamp: Fri 2007-09-21 16:13:09 +1000
    message:
      Also include plugin path and version in traceback
    modified:
      bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.31.3.18.1.9.1.2.1.12.1.8.1.17.1.1
    revision-id: mbp at sourcefrog.net-20070921030710-koafxqdakilf56t8
    parent: pqm at pqm.ubuntu.com-20070921022023-cgeid5vrxco9o4jo
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: trivial
    timestamp: Fri 2007-09-21 13:07:10 +1000
    message:
      Report locale, encodings and plugins in traceback
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/tests/blackbox/test_exceptions.py test_exceptions.py-20060604211237-yi2cxg0ose3xk4id-1
      bzrlib/tests/test_trace.py     testtrace.py-20051110225523-a21117fc7a07eeff
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
=== modified file 'NEWS'
--- a/NEWS	2007-09-21 06:24:46 +0000
+++ b/NEWS	2007-09-23 20:29:13 +0000
@@ -32,6 +32,9 @@
    * Commit in quiet mode is now slightly faster as the information to
      output is no longer calculated. (Ian Clatworthy)
 
+   * Commit no longer checks for new text keys during insertion when the
+     revision id was deterministically unique. (Robert Collins)
+
    * Committing a change which is not a merge and does not change the number of
      files in the tree is faster by utilising the data about whether files are
      changed to determine if the tree is unchanged rather than recalculating
@@ -51,6 +54,9 @@
    * Mutt is now a supported mail client; set ``mail_client=mutt`` in your
      bazaar.conf and ``send`` will use mutt. (Keir Mierle)
 
+   * Show encodings, locale and list of plugins in the traceback message.
+     (Martin Pool, #63894)
+
   BUG FIXES:
 
    * The basename, not the full path, is now used when checking whether
@@ -77,6 +83,9 @@
    * Fix selftest semi-random noise during http related tests.
      (Vincent Ladeuil, #140614)
 
+   * Trivial fix for invoking command ``reconfigure`` without arguments.
+     (Rob Weir, #141629)
+
    * ``WorkingTree.rename_one`` will now raise an error if normalisation of the
      new path causes bzr to be unable to access the file. (Robert Collins)
 

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2007-09-17 12:46:56 +0000
+++ b/bzrlib/builtins.py	2007-09-22 00:40:44 +0000
@@ -4185,7 +4185,7 @@
     def run(self, location=None, target_type=None, bind_to=None, force=False):
         directory = bzrdir.BzrDir.open(location)
         if target_type is None:
-            raise BzrCommandError('No target configuration specified')
+            raise errors.BzrCommandError('No target configuration specified')
         elif target_type == 'branch':
             reconfiguration = reconfigure.Reconfigure.to_branch(directory)
         elif target_type == 'tree':

=== modified file 'bzrlib/info.py'
--- a/bzrlib/info.py	2007-08-15 04:33:34 +0000
+++ b/bzrlib/info.py	2007-09-21 12:30:48 +0000
@@ -131,13 +131,13 @@
 def _show_location_info(locs):
     """Show known locations for working, branch and repository."""
     print 'Location:'
-    path_list = LocationList(os.getcwd())
+    path_list = LocationList(osutils.getcwd())
     for name, loc in locs:
         path_list.add_url(name, loc)
     sys.stdout.writelines(path_list.get_lines())
 
 def _gather_related_branches(branch):
-    locs = LocationList(os.getcwd())
+    locs = LocationList(osutils.getcwd())
     locs.add_url('public branch', branch.get_public_branch())
     locs.add_url('push branch', branch.get_push_location())
     locs.add_url('parent branch', branch.get_parent())

=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py	2007-09-21 06:24:46 +0000
+++ b/bzrlib/knit.py	2007-09-23 20:29:13 +0000
@@ -815,7 +815,7 @@
         """See VersionedFile.add_lines_with_ghosts()."""
         self._check_add(version_id, lines, random_id, check_content)
         return self._add(version_id, lines, parents, self.delta,
-            parent_texts, None, nostore_sha)
+            parent_texts, None, nostore_sha, random_id)
 
     def _add_lines(self, version_id, parents, lines, parent_texts,
         left_matching_blocks, nostore_sha, random_id, check_content):
@@ -823,7 +823,7 @@
         self._check_add(version_id, lines, random_id, check_content)
         self._check_versions_present(parents)
         return self._add(version_id, lines[:], parents, self.delta,
-            parent_texts, left_matching_blocks, nostore_sha)
+            parent_texts, left_matching_blocks, nostore_sha, random_id)
 
     def _check_add(self, version_id, lines, random_id, check_content):
         """check that version_id and lines are safe to add."""
@@ -841,7 +841,7 @@
             self._check_lines_are_lines(lines)
 
     def _add(self, version_id, lines, parents, delta, parent_texts,
-             left_matching_blocks, nostore_sha):
+        left_matching_blocks, nostore_sha, random_id):
         """Add a set of lines on top of version specified by parents.
 
         If delta is true, compress the text as a line-delta against
@@ -908,7 +908,8 @@
             store_lines = self.factory.lower_fulltext(content)
 
         access_memo = self._data.add_record(version_id, digest, store_lines)
-        self._index.add_version(version_id, options, access_memo, parents)
+        self._index.add_versions(
+            ((version_id, options, access_memo, parents),), random_id=random_id)
         return digest, text_length, content
 
     def check(self, progress_bar=None):
@@ -1361,11 +1362,13 @@
         """Add a version record to the index."""
         self.add_versions(((version_id, options, index_memo, parents),))
 
-    def add_versions(self, versions):
+    def add_versions(self, versions, random_id=False):
         """Add multiple versions to the index.
         
         :param versions: a list of tuples:
                          (version_id, options, pos, size, parents).
+        :param random_id: If True the ids being added were randomly generated
+            and no check for existence will be performed.
         """
         lines = []
         orig_history = self._history[:]
@@ -1707,7 +1710,7 @@
         """Add a version record to the index."""
         return self.add_versions(((version_id, options, access_memo, parents),))
 
-    def add_versions(self, versions):
+    def add_versions(self, versions, random_id=False):
         """Add multiple versions to the index.
         
         This function does not insert data into the Immutable GraphIndex
@@ -1717,6 +1720,8 @@
 
         :param versions: a list of tuples:
                          (version_id, options, pos, size, parents).
+        :param random_id: If True the ids being added were randomly generated
+            and no check for existence will be performed.
         """
         if not self._add_callback:
             raise errors.ReadOnlyError(self)
@@ -1751,12 +1756,13 @@
                         "in parentless index.")
                 node_refs = ()
             keys[key] = (value, node_refs)
-        present_nodes = self._get_entries(keys)
-        for (index, key, value, node_refs) in present_nodes:
-            if (value, node_refs) != keys[key]:
-                raise KnitCorrupt(self, "inconsistent details in add_versions"
-                    ": %s %s" % ((value, node_refs), keys[key]))
-            del keys[key]
+        if not random_id:
+            present_nodes = self._get_entries(keys)
+            for (index, key, value, node_refs) in present_nodes:
+                if (value, node_refs) != keys[key]:
+                    raise KnitCorrupt(self, "inconsistent details in add_versions"
+                        ": %s %s" % ((value, node_refs), keys[key]))
+                del keys[key]
         result = []
         if self._parents:
             for key, (value, node_refs) in keys.iteritems():

=== modified file 'bzrlib/multiparent.py'
--- a/bzrlib/multiparent.py	2007-07-24 16:25:33 +0000
+++ b/bzrlib/multiparent.py	2007-09-20 21:32:49 +0000
@@ -540,6 +540,9 @@
     def add_diff(self, diff, version_id, parent_ids):
         outfile = open(self._filename + '.mpknit', 'ab')
         try:
+            outfile.seek(0, 2)      # workaround for windows bug:
+                                    # .tell() for files opened in 'ab' mode
+                                    # before any write returns 0
             start = outfile.tell()
             try:
                 zipfile = GzipFile(None, mode='ab', fileobj=outfile)

=== modified file 'bzrlib/tests/__init__.py'
--- a/bzrlib/tests/__init__.py	2007-09-21 00:27:04 +0000
+++ b/bzrlib/tests/__init__.py	2007-09-23 20:29:13 +0000
@@ -72,7 +72,6 @@
     pass
 from bzrlib.merge import merge_inner
 import bzrlib.merge3
-import bzrlib.osutils
 import bzrlib.plugin
 from bzrlib.revision import common_ancestor
 import bzrlib.store
@@ -1878,7 +1877,7 @@
     def _make_test_root(self):
         if TestCaseWithMemoryTransport.TEST_ROOT is not None:
             return
-        root = tempfile.mkdtemp(prefix='testbzr-', suffix='.tmp')
+        root = osutils.mkdtemp(prefix='testbzr-', suffix='.tmp')
         TestCaseWithMemoryTransport.TEST_ROOT = root
         
         # make a fake bzr directory there to prevent any tests propagating
@@ -1994,7 +1993,7 @@
         name and then create two subdirs - test and home under it.
         """
         # create a directory within the top level test directory
-        candidate_dir = tempfile.mkdtemp(dir=self.TEST_ROOT)
+        candidate_dir = osutils.mkdtemp(dir=self.TEST_ROOT)
         # now create test and home directories within this dir
         self.test_base_dir = candidate_dir
         self.test_home_dir = self.test_base_dir + '/home'

=== modified file 'bzrlib/tests/blackbox/test_commit.py'
--- a/bzrlib/tests/blackbox/test_commit.py	2007-09-21 04:22:53 +0000
+++ b/bzrlib/tests/blackbox/test_commit.py	2007-09-22 16:20:37 +0000
@@ -20,6 +20,7 @@
 import os
 
 from bzrlib import (
+    osutils,
     ignores,
     )
 from bzrlib.bzrdir import BzrDir
@@ -154,7 +155,7 @@
         a_tree.commit(message='Initial message')
 
         b_tree = a_tree.branch.create_checkout('b')
-        expected = "%s/" % (os.path.abspath('a'), )
+        expected = "%s/" % (osutils.abspath('a'), )
         out, err = self.run_bzr('commit -m blah --unchanged', working_dir='b')
         self.assertEqual(err, 'Committing revision 2 to "%s".\n'
                          'Committed revision 2.\n' % expected)
@@ -212,7 +213,7 @@
         os.chdir('this')
         out,err = self.run_bzr('commit -m added')
         self.assertEqual('', out)
-        expected = '%s/' % (os.getcwd(), )
+        expected = '%s/' % (osutils.getcwd(), )
         self.assertEqualDiff(
             'Committing revision 2 to "%s".\n'
             'modified filetomodify\n'

=== modified file 'bzrlib/tests/blackbox/test_exceptions.py'
--- a/bzrlib/tests/blackbox/test_exceptions.py	2007-06-26 20:32:49 +0000
+++ b/bzrlib/tests/blackbox/test_exceptions.py	2007-09-21 06:13:09 +0000
@@ -31,7 +31,11 @@
         out, err = self.run_bzr("assert-fail", retcode=3)
         self.assertContainsRe(err,
                 r'bzr: ERROR: exceptions\.AssertionError: always fails\n')
-        self.assertContainsRe(err, r'please send this report to')
+        self.assertContainsRe(err, r'Please send this report to')
+        self.assertContainsRe(err,
+            '(?m)^encoding: .*, fsenc: .*, lang: .*')
+        self.assertContainsRe(err,
+            '(?m)^plugins:$')
 
     # TODO: assert-fail doesn't need to always be present; we could just
     # register (and unregister) it from tests that want to touch it.

=== modified file 'bzrlib/tests/blackbox/test_info.py'
--- a/bzrlib/tests/blackbox/test_info.py	2007-08-23 14:10:48 +0000
+++ b/bzrlib/tests/blackbox/test_info.py	2007-09-21 12:30:48 +0000
@@ -1131,7 +1131,7 @@
         def friendly_location(url):
             path = urlutils.unescape_for_display(url, 'ascii')
             try:
-                return osutils.relpath(os.getcwd(), path)
+                return osutils.relpath(osutils.getcwd(), path)
             except errors.PathNotChild:
                 return path
 

=== modified file 'bzrlib/tests/blackbox/test_reconfigure.py'
--- a/bzrlib/tests/blackbox/test_reconfigure.py	2007-09-17 12:45:54 +0000
+++ b/bzrlib/tests/blackbox/test_reconfigure.py	2007-09-22 06:08:35 +0000
@@ -56,3 +56,8 @@
         branch = self.make_branch('branch')
         checkout = branch.create_checkout('checkout', lightweight=True)
         self.run_bzr('reconfigure --checkout checkout')
+
+    def test_no_args(self):
+        branch = self.make_branch('branch')
+        self.run_bzr_error(['No target configuration specified'],
+                           'reconfigure', working_dir='branch')

=== modified file 'bzrlib/tests/branch_implementations/test_branch.py'
--- a/bzrlib/tests/branch_implementations/test_branch.py	2007-08-22 01:02:35 +0000
+++ b/bzrlib/tests/branch_implementations/test_branch.py	2007-09-23 20:29:13 +0000
@@ -278,7 +278,7 @@
         repo = wt.branch.repository
         repo.lock_write()
         repo.start_write_group()
-        repo.sign_revision('A', bzrlib.gpg.LoopbackGPGStrategy(None))
+        repo.sign_revision('A', gpg.LoopbackGPGStrategy(None))
         repo.commit_write_group()
         repo.unlock()
         #FIXME: clone should work to urls,

=== modified file 'bzrlib/tests/test_branch.py'
--- a/bzrlib/tests/test_branch.py	2007-08-27 03:21:16 +0000
+++ b/bzrlib/tests/test_branch.py	2007-09-20 21:46:15 +0000
@@ -107,10 +107,20 @@
                                    ensure_config_dir_exists)
         ensure_config_dir_exists()
         fn = locations_config_filename()
+        # write correct newlines to locations.conf
+        # by default ConfigObj uses native line-endings for new files
+        # but uses already existing line-endings if file is not empty
+        f = open(fn, 'wb')
+        try:
+            f.write('# comment\n')
+        finally:
+            f.close()
+
         branch = self.make_branch('.', format='knit')
         branch.set_push_location('foo')
         local_path = urlutils.local_path_from_url(branch.base[:-1])
-        self.assertFileEqual("[%s]\n"
+        self.assertFileEqual("# comment\n"
+                             "[%s]\n"
                              "push_location = foo\n"
                              "push_location:policy = norecurse" % local_path,
                              fn)

=== modified file 'bzrlib/tests/test_knit.py'
--- a/bzrlib/tests/test_knit.py	2007-09-09 22:28:46 +0000
+++ b/bzrlib/tests/test_knit.py	2007-09-23 20:29:13 +0000
@@ -816,6 +816,18 @@
         self.assertEqual(["c"], index.get_parents_with_ghosts("a"))
         self.assertEqual(["a"], index.get_parents_with_ghosts("b"))
 
+    def test_add_versions_random_id_is_accepted(self):
+        transport = MockTransport([
+            _KnitIndex.HEADER
+            ])
+        index = self.get_knit_index(transport, "filename", "r")
+
+        index.add_versions([
+            ("a", ["option"], (None, 0, 1), ["b"]),
+            ("a", ["opt"], (None, 1, 2), ["c"]),
+            ("b", ["option"], (None, 2, 3), ["a"])
+            ], random_id=True)
+
     def test_delay_create_and_add_versions(self):
         transport = MockTransport()
 
@@ -2307,6 +2319,10 @@
             [('new', 'no-eol,line-delta', (None, 0, 100), ['parent'])])
         self.assertEqual([], self.caught_entries)
 
+    def test_add_versions_random_id_accepted(self):
+        index = self.two_graph_index(catch_adds=True)
+        index.add_versions([], random_id=True)
+
     def test_add_versions_same_dup(self):
         index = self.two_graph_index(catch_adds=True)
         # options can be spelt two different ways
@@ -2570,6 +2586,10 @@
             [('new', 'no-eol,fulltext', (None, 0, 100), ['parent'])])
         self.assertEqual([], self.caught_entries)
 
+    def test_add_versions_random_id_accepted(self):
+        index = self.two_graph_index(catch_adds=True)
+        index.add_versions([], random_id=True)
+
     def test_add_versions_same_dup(self):
         index = self.two_graph_index(catch_adds=True)
         # options can be spelt two different ways

=== modified file 'bzrlib/tests/test_plugins.py'
--- a/bzrlib/tests/test_plugins.py	2007-08-29 01:16:53 +0000
+++ b/bzrlib/tests/test_plugins.py	2007-09-21 12:30:48 +0000
@@ -32,7 +32,7 @@
 import bzrlib.help
 from bzrlib.symbol_versioning import zero_ninetyone
 from bzrlib.tests import TestCase, TestCaseInTempDir
-from bzrlib.osutils import pathjoin, abspath
+from bzrlib.osutils import pathjoin, abspath, normpath
 
 
 PLUGIN_TEXT = """\
@@ -241,7 +241,7 @@
         plugins = bzrlib.plugin.plugins()
         plugin = plugins['plugin']
         plugin_path = self.test_dir + '/plugin.py'
-        self.assertEqual(plugin_path, plugin.path())
+        self.assertEqual(plugin_path, normpath(plugin.path()))
 
     def test_no_test_suite_gives_None_for_test_suite(self):
         self.setup_plugin()

=== modified file 'bzrlib/tests/test_repository.py'
--- a/bzrlib/tests/test_repository.py	2007-09-02 21:35:54 +0000
+++ b/bzrlib/tests/test_repository.py	2007-09-23 20:29:13 +0000
@@ -161,6 +161,15 @@
                           control.transport.get,
                           'ancestry.weave')
 
+    def test_exposed_versioned_files_are_marked_dirty(self):
+        control = bzrdir.BzrDirFormat6().initialize(self.get_url())
+        repo = weaverepo.RepositoryFormat6().initialize(control)
+        repo.lock_write()
+        inv = repo.get_inventory_weave()
+        repo.unlock()
+        self.assertRaises(errors.OutSideTransaction,
+            inv.add_lines, 'foo', [], [])
+
 
 class TestFormat7(TestCaseWithTransport):
     
@@ -265,6 +274,15 @@
                              'W\n',
                              t.get('inventory.weave').read())
 
+    def test_exposed_versioned_files_are_marked_dirty(self):
+        control = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
+        repo = weaverepo.RepositoryFormat7().initialize(control)
+        repo.lock_write()
+        inv = repo.get_inventory_weave()
+        repo.unlock()
+        self.assertRaises(errors.OutSideTransaction,
+            inv.add_lines, 'foo', [], [])
+
 
 class TestFormatKnit1(TestCaseWithTransport):
     
@@ -343,6 +361,16 @@
         self.assertTrue(S_ISDIR(t.stat('knits').st_mode))
         self.check_knits(t)
 
+    def test_exposed_versioned_files_are_marked_dirty(self):
+        format = bzrdir.BzrDirMetaFormat1()
+        format.repository_format = knitrepo.RepositoryFormatKnit1()
+        repo = self.make_repository('.', format=format)
+        repo.lock_write()
+        inv = repo.get_inventory_weave()
+        repo.unlock()
+        self.assertRaises(errors.OutSideTransaction,
+            inv.add_lines, 'foo', [], [])
+
 
 class KnitRepositoryStreamTests(test_knit.KnitTests):
     """Tests for knitrepo._get_stream_as_bytes."""
@@ -418,7 +446,7 @@
 
     This is for use during testing where we use DummyRepository as repositories
     so that none of the default regsitered inter-repository classes will
-    match.
+    MATCH.
     """
 
     @staticmethod
@@ -560,6 +588,15 @@
         revision_tree = tree.branch.repository.revision_tree('dull2')
         self.assertEqual('dull', revision_tree.inventory.root.revision)
 
+    def test_exposed_versioned_files_are_marked_dirty(self):
+        format = bzrdir.BzrDirMetaFormat1()
+        format.repository_format = knitrepo.RepositoryFormatKnit3()
+        repo = self.make_repository('.', format=format)
+        repo.lock_write()
+        inv = repo.get_inventory_weave()
+        repo.unlock()
+        self.assertRaises(errors.OutSideTransaction,
+            inv.add_lines, 'foo', [], [])
 
 class TestExperimentalNoSubtrees(TestCaseWithTransport):
 
@@ -857,4 +894,3 @@
     def check_format(self, t):
         self.assertEqualDiff('Bazaar Experimental subtrees\n',
                              t.get('format').read())
-

=== modified file 'bzrlib/tests/test_trace.py'
--- a/bzrlib/tests/test_trace.py	2007-08-31 02:00:37 +0000
+++ b/bzrlib/tests/test_trace.py	2007-09-21 03:07:10 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by

=== modified file 'bzrlib/tests/test_transport.py'
--- a/bzrlib/tests/test_transport.py	2007-08-19 20:38:10 +0000
+++ b/bzrlib/tests/test_transport.py	2007-09-21 12:30:48 +0000
@@ -23,6 +23,7 @@
 import bzrlib
 from bzrlib import (
     errors,
+    osutils,
     urlutils,
     )
 from bzrlib.errors import (ConnectionError,
@@ -572,26 +573,26 @@
 class TestLocalTransports(TestCase):
 
     def test_get_transport_from_abspath(self):
-        here = os.path.abspath('.')
+        here = osutils.abspath('.')
         t = get_transport(here)
         self.assertIsInstance(t, LocalTransport)
         self.assertEquals(t.base, urlutils.local_path_to_url(here) + '/')
 
     def test_get_transport_from_relpath(self):
-        here = os.path.abspath('.')
+        here = osutils.abspath('.')
         t = get_transport('.')
         self.assertIsInstance(t, LocalTransport)
         self.assertEquals(t.base, urlutils.local_path_to_url('.') + '/')
 
     def test_get_transport_from_local_url(self):
-        here = os.path.abspath('.')
+        here = osutils.abspath('.')
         here_url = urlutils.local_path_to_url(here) + '/'
         t = get_transport(here_url)
         self.assertIsInstance(t, LocalTransport)
         self.assertEquals(t.base, here_url)
 
     def test_local_abspath(self):
-        here = os.path.abspath('.')
+        here = osutils.abspath('.')
         t = get_transport(here)
         self.assertEquals(t.local_abspath(''), here)
 

=== modified file 'bzrlib/trace.py'
--- a/bzrlib/trace.py	2007-08-31 02:00:37 +0000
+++ b/bzrlib/trace.py	2007-09-21 06:13:09 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006 Canonical Ltd
+# Copyright (C) 2005, 2006, 2007 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -58,6 +58,7 @@
 lazy_import(globals(), """
 from cStringIO import StringIO
 import errno
+import locale
 import logging
 import traceback
 """)
@@ -65,7 +66,11 @@
 import bzrlib
 
 lazy_import(globals(), """
-from bzrlib import debug
+from bzrlib import (
+    debug,
+    osutils,
+    plugin,
+    )
 """)
 
 _file_handler = None
@@ -146,7 +151,6 @@
         if size <= 4 << 20:
             return
         old_fname = trace_fname + '.old'
-        from osutils import rename
         rename(trace_fname, old_fname)
     except OSError:
         return
@@ -352,5 +356,17 @@
                         '.'.join(map(str, sys.version_info)),
                         sys.platform)
     print >>err_file, 'arguments: %r' % sys.argv
-    print >>err_file
-    print >>err_file, "** please send this report to bazaar at lists.ubuntu.com"
+    err_file.write(
+        'encoding: %r, fsenc: %r, lang: %r\n' % (
+            osutils.get_user_encoding(), sys.getfilesystemencoding(),
+            os.environ.get('LANG')))
+    err_file.write("plugins:\n")
+    for name, a_plugin in sorted(plugin.plugins().items()):
+        err_file.write("  %-20s %s [%s]\n" %
+            (name, a_plugin.path(), a_plugin.__version__))
+    err_file.write(
+        "\n"
+        "** Please send this report to bazaar at lists.ubuntu.com\n"
+        "   with a description of what you were doing when the\n"
+        "   error occurred.\n"
+        )



More information about the bazaar-commits mailing list