Rev 2773: Merge commit --show-diff feature from Goffredo in http://sourcefrog.net/bzr/show-diff

Martin Pool mbp at sourcefrog.net
Fri Aug 31 06:32:03 BST 2007


At http://sourcefrog.net/bzr/show-diff

------------------------------------------------------------
revno: 2773
revision-id: mbp at sourcefrog.net-20070831053200-px49z9ajuv15dxpi
parent: pqm at pqm.ubuntu.com-20070831020510-emrlta5dk6ta95zp
parent: ghigo at venice-20070824165901-x0ifucgrf4oz422a
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: show-diff
timestamp: Fri 2007-08-31 15:32:00 +1000
message:
  Merge commit --show-diff feature from Goffredo
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
  bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
  bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
  doc/en/user-guide/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
    ------------------------------------------------------------
    revno: 2598.6.32
    revision-id: ghigo at venice-20070824165901-x0ifucgrf4oz422a
    parent: ghigo at venice-20070824164900-lsll8bfg2389wdj2
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-24 18:59:01 +0200
    message:
      Move the info in the NEWS file at the top
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 2598.6.31
    revision-id: ghigo at venice-20070824164900-lsll8bfg2389wdj2
    parent: ghigo at venice-20070824164317-rv1ybnpqv6iorw3e
    parent: pqm at pqm.ubuntu.com-20070824133750-r25v5g25g1flggy6
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-24 18:49:00 +0200
    message:
      Update to bzr.dev
    removed:
      doc/README.1st                 README.1st-20060314161707-b943d5d4cce669b6
      doc/developers/scratch.txt     scratch.txt-20070618020404-cdhv0ecgrukomemg-3
    added:
      bzrlib/mail_client.py          mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
      bzrlib/tests/test_mail_client.py test_mail_client.py-20070809192806-vuxt3t19srtpjpdn-2
      bzrlib/util/simplemapi.py      simplemapi.py-20070810174811-ievl23nziuiq2k3m-1
      doc/developers/directory-fingerprints.txt directoryfingerprint-20070731033348-okmllh4b5srdtlk2-1
      doc/developers/last-modified.txt lastmodified.txt-20070806222243-df50y5fi7n85vnob-1
      doc/en/                        en-20070810050627-g7r46azs5mlwj61j-1
      doc/en/developer-guide/        developerguide-20070810050627-g7r46azs5mlwj61j-2
      doc/en/mini-tutorial/          minitutorial-20070813141352-2u64ooqzo0or4hss-1
      doc/en/mini-tutorial/index.txt index.txt-20070813141352-2u64ooqzo0or4hss-2
      doc/en/quick-reference/        quickreference-20070813143223-5i7bgw7w8s7l3ae2-1
      doc/en/quick-reference/Makefile makefile-20070813143223-5i7bgw7w8s7l3ae2-2
      doc/en/quick-reference/quick-start-summary.svg quickstartsummary.sv-20070813143223-5i7bgw7w8s7l3ae2-3
      doc/en/release-notes/          releasenotes-20070810050627-g7r46azs5mlwj61j-3
      doc/en/user-guide/             userguide-20070810050627-g7r46azs5mlwj61j-4
      doc/en/user-reference/         userreference-20070810050627-g7r46azs5mlwj61j-5
      doc/index.txt                  index.txt-20070813101924-07gd9i9d2jt124bf-1
    renamed:
      doc/bug_trackers.txt => doc/en/user-guide/bug_trackers.txt bug_trackers.txt-20070713223459-khxdlcudraii95uv-1
      doc/centralized_workflow.txt => doc/en/user-guide/centralized_workflow.txt centralized_workflow-20060830194948-kspf52565xvgrlil-1
      doc/configuration.txt => doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
      doc/conflicts.txt => doc/en/user-guide/conflicts.txt conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
      doc/http_smart_server.txt => doc/en/user-guide/http_smart_server.txt fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
      doc/index.txt => doc/en/user-guide/index.txt index.txt-20060622101119-tgwtdci8z769bjb9-2
      doc/plugins.txt => doc/en/user-guide/plugins.txt plugins.txt-20060314145616-525099a747f3ffdd
      doc/server.txt => doc/en/user-guide/server.txt server.txt-20060913044801-h939fvbwzz39gf7g-1
      doc/setting_up_email.txt => doc/en/user-guide/setting_up_email.txt setting_up_email.txt-20060314161707-fd242c8944346173
      doc/shared_repository_layouts.txt => doc/en/user-guide/shared_repository_layouts.txt shared_repository_la-20070502152030-bagewuqs18ns24o7-1
      doc/specifying_revisions.txt => doc/en/user-guide/specifying_revisions.txt specifying_revisions.txt-20060314161707-19deb139101bea33
      doc/tutorial.txt => doc/en/user-guide/tutorial.txt tutorial.txt-20050804190939-9dcbba2ef053bc84
      doc/using_aliases.txt => doc/en/user-guide/using_aliases.txt using_aliases.txt-20060314161707-c21d27fa2939e039
      doc/version_info.txt => doc/en/user-guide/version_info.txt version_info.txt-20060921215543-gju6o5xdic8w25np-1
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/check.py                check.py-20050309040759-f3a679400c06bcc1
      bzrlib/config.py               config.py-20051011043216-070c74f4e9e338e8
      bzrlib/debug.py                debug.py-20061102062349-vdhrw9qdpck8cl35-1
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/pack.py                 container.py-20070607160755-tr8zc26q18rn0jnb-1
      bzrlib/patches.py              patches.py-20050727183609-378c1cc5972ce908
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
      bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/revisiontree.py         revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
      bzrlib/store/revision/text.py  text.py-20060303020652-e49155f0da4d14ab
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
      bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
      bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
      bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/revisionstore_implementations/test_all.py test_all.py-20060303020702-9b2d4c1d75407f31
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_config.py    testconfig.py-20051011041908-742d0c15d8d8c8eb
      bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
      bzrlib/tests/test_index.py     test_index.py-20070712131115-lolkarso50vjr64s-2
      bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
      bzrlib/tests/test_pack.py      test_container.py-20070607160755-tr8zc26q18rn0jnb-2
      bzrlib/tests/test_patches.py   test_patches.py-20051231203844-f4974d20f6aea09c
      bzrlib/tests/test_revisionnamespaces.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_trace.py     testtrace.py-20051110225523-a21117fc7a07eeff
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/test_upgrade.py   test_upgrade.py-20051004040251-555fe1d2bae1bc71
      bzrlib/tests/test_win32utils.py test_win32utils.py-20070713181630-8xsrjymd3e8mgw23-108
      bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
      bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/chroot.py     chroot.py-20061011104729-0us9mgm97z378vnt-1
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      bzrlib/transport/fakevfat.py   fakevfat.py-20060407072414-d59939fa1d6c79d9
      bzrlib/transport/ftp.py        ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
      bzrlib/transport/local.py      local_transport.py-20050711165921-9b1f142bfe480c24
      bzrlib/transport/memory.py     memory.py-20051016101338-cd008dbdf69f04fc
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
      bzrlib/win32utils.py           win32console.py-20051021033308-123c6c929d04973d
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
      doc/bazaar-vcs.org.kid         bazaarvcs.org.kid-20060929181918-huv7bgmdey0ktqci-1
      doc/developers/index.txt       index.txt-20070508041241-qznziunkg0nffhiw-1
      doc/developers/performance-contributing.txt performancecontribut-20070621063612-ac4zhhagjzkr21qp-1
      doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
      tools/rst2prettyhtml.py        rst2prettyhtml.py-20060929181914-t7dh62f2wxi0i5aj-1
      tools/win32/ostools.py         ostools.py-20060731163025-npjffm46rgnkl50d-1
      doc/en/user-guide/configuration.txt configuration.txt-20060314161707-868350809502af01
      doc/en/user-guide/http_smart_server.txt fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
      doc/en/user-guide/index.txt    index.txt-20060622101119-tgwtdci8z769bjb9-2
      doc/en/user-guide/server.txt   server.txt-20060913044801-h939fvbwzz39gf7g-1
    ------------------------------------------------------------
    revno: 2598.6.30
    revision-id: ghigo at venice-20070824164317-rv1ybnpqv6iorw3e
    parent: ghigo at venice-20070817210416-ah5nh07f2dwky5pp
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-24 18:43:17 +0200
    message:
      - Updated the identation on the basis of Aaron suggestions
      - Now a default value is passed directly in the function definition
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.29
    revision-id: ghigo at venice-20070817210416-ah5nh07f2dwky5pp
    parent: ghigo at venice-20070817194121-axosvcki4xtunyq7
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 23:04:16 +0200
    message:
      Removed the check on the switch "--show-diff" in order to allow the
      use of the switch in an alias.
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
    ------------------------------------------------------------
    revno: 2598.6.28
    revision-id: ghigo at venice-20070817194121-axosvcki4xtunyq7
    parent: ghigo at venice-20070817180457-5rkqnkqzlwls9ld0
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 21:41:21 +0200
    message:
      remove two uncorrectly commas
    modified:
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
    ------------------------------------------------------------
    revno: 2598.6.27
    revision-id: ghigo at venice-20070817180457-5rkqnkqzlwls9ld0
    parent: ghigo at venice-20070817180034-v2ypd6dz2nbh515i
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 20:04:57 +0200
    message:
      small cleanup (line lenght)
    modified:
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.26
    revision-id: ghigo at venice-20070817180034-v2ypd6dz2nbh515i
    parent: ghigo at venice-20070817174636-hiaw4etj4rf2195k
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 20:00:34 +0200
    message:
      small cleanup
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.25
    revision-id: ghigo at venice-20070817174636-hiaw4etj4rf2195k
    parent: ghigo at venice-20070817174415-z9uufl65de5qhvqp
    parent: pqm at pqm.ubuntu.com-20070817132000-jr6dro4qkhf7uzwp
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 19:46:36 +0200
    message:
      update to bzr.dev
    added:
      bzrlib/tests/blackbox/test_bundle_info.py test_bundle_info.py-20070816181255-eiuodwxuqu7w7gxf-1
      bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
      doc/developers/revision-properties.txt revisionproperties.t-20070807133526-w57m8zv5o7t5kugm-1
    modified:
      INSTALL                        INSTALL-20051019070340-4b27f2fb240c7943
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
      bzrlib/bundle/commands.py      __init__.py-20050617152058-1b6530d9ab85c11c
      bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/delta.py                delta.py-20050729221636-54cf14ef94783d0a
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/lockable_files.py       control_files.py-20051111201905-bb88546e799d669f
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
      bzrlib/mutabletree.py          mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
      bzrlib/osutils.py              osutils.py-20050309040759-eeaff12fbf77ac86
      bzrlib/patches.py              patches.py-20050727183609-378c1cc5972ce908
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/weaverepo.py    presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
      bzrlib/status.py               status.py-20050505062338-431bfa63ec9b19e6
      bzrlib/store/__init__.py       store.py-20050309040759-164dc5173d6406c2
      bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
      bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
      bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
      bzrlib/tests/blackbox/test_added.py test_added.py-20060119085008-6b8b90369d42a26c
      bzrlib/tests/blackbox/test_aliases.py test_aliases.py-20060210230318-f0c08c9294dbfae1
      bzrlib/tests/blackbox/test_ancestry.py test_ancestry.py-20060131142602-6d9524c490537e90
      bzrlib/tests/blackbox/test_bound_branches.py test_bound_branches.py-20051109215527-2373188ad566c205
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
      bzrlib/tests/blackbox/test_cat.py test_cat.py-20051201162916-f0937e4e19ea24b3
      bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
      bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
      bzrlib/tests/blackbox/test_debug.py test_debug.py-20061026142942-q76cgg41785b3mdk-1
      bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
      bzrlib/tests/blackbox/test_find_merge_base.py test_find_merge_base.py-20060131142124-f9d5c94df4505b70
      bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
      bzrlib/tests/blackbox/test_locale.py test_lang.py-20060824204205-80v50j25qkuop7yn-1
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
      bzrlib/tests/blackbox/test_pull.py test_pull.py-20051201144907-64959364f629947f
      bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
      bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/blackbox/test_update.py test_update.py-20060212125639-c4dad1a5c56d5919
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
      bzrlib/tests/branch_implementations/test_revision_history.py test_revision_histor-20070326062311-v7co92liyuchb80w-1
      bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
      bzrlib/tests/test_escaped_store.py test_escaped_store.py-20060216023929-6bcb9a067344959f
      bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_lockdir.py   test_lockdir.py-20060220222025-33d4221569a3d600
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
      bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
      bzrlib/tests/test_multiparent.py test_multiparent.py-20070410133617-n1jdhcc1n1mibarp-4
      bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_source.py    test_source.py-20051207061333-a58dea6abecc030d
      bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/tests/test_weave.py     testknit.py-20050627023648-9833cc5562ffb785
      bzrlib/tests/workingtree_implementations/test_is_ignored.py test_is_ignored.py-20060518083307-a5b383dd4d070083
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      bzrlib/transport/ftp.py        ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
      bzrlib/transport/http/wsgi.py  wsgi.py-20061005091552-rz8pva0olkxv0sd8-2
      bzrlib/transport/local.py      local_transport.py-20050711165921-9b1f142bfe480c24
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/transport/ssh.py        ssh.py-20060824042150-0s9787kng6zv1nwq-1
      bzrlib/ui/__init__.py          ui.py-20050824083933-8cf663c763ba53a9
      bzrlib/ui/text.py              text.py-20051130153916-2e438cffc8afc478
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      doc/tutorial.txt               tutorial.txt-20050804190939-9dcbba2ef053bc84
    ------------------------------------------------------------
    revno: 2598.6.24
    revision-id: ghigo at venice-20070817174415-z9uufl65de5qhvqp
    parent: ghigo at venice-20070813173134-x8n48l7tdx1p3u94
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-08-17 19:44:15 +0200
    message:
      update on the basis of Aaron suggestions
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.23
    revision-id: ghigo at venice-20070813173134-x8n48l7tdx1p3u94
    parent: ghigo at venice-20070813171939-kl2ue6y9p38uu1ym
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Mon 2007-08-13 19:31:34 +0200
    message:
      Cosmetic clean up
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.22
    revision-id: ghigo at venice-20070813171939-kl2ue6y9p38uu1ym
    parent: ghigo at venice-20070813171344-1qd4y1a70gav4gde
    parent: pqm at pqm.ubuntu.com-20070813122444-5pi8f4fwxqpgxs1x
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Mon 2007-08-13 19:19:39 +0200
    message:
      update to bzr.dev, and a small cleanup
    removed:
      bzrlib/file_names.py           file_collection.py-20070714100753-j2zz4ahtk331k5zm-1
      bzrlib/tests/test_file_names.py test_file_collection-20070714093417-5gc9d821to85zo4t-1
    added:
      bzrlib/_dirstate_helpers_c.h   _dirstate_helpers_c.-20070802205935-hqo9yzuzjix271dd-1
      bzrlib/tests/repository_implementations/test_has_same_location.py test_has_same_locati-20070807074648-2i2ah82fbe83iys7-1
      bzrlib/tests/repository_implementations/test_write_group.py test_write_group.py-20070716105516-89n34xtogq5frn0m-1
      bzrlib/tests/test_win32utils.py test_win32utils.py-20070713181630-8xsrjymd3e8mgw23-108
      tools/win32/survey.txt         survey.txt-20070809075950-sf265mgu9oog8jjb-1
    renamed:
      bzrlib/tests/blackbox/test_submit.py => bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
      doc/developers/HACKING => doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      README                         README-20050309040720-8f368abf9f346b9d
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/_dirstate_helpers_c.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/delta.py                delta.py-20050729221636-54cf14ef94783d0a
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
      bzrlib/help.py                 help.py-20050505025907-4dd7a6d63912f894
      bzrlib/help_topics.py          help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/lsprof.py               lsprof.py-20051208071030-833790916798ceed
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/pack.py                 container.py-20070607160755-tr8zc26q18rn0jnb-1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
      bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
      bzrlib/revisiontree.py         revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
      bzrlib/smart/protocol.py       protocol.py-20061108035435-ot0lstk2590yqhzr-1
      bzrlib/smtp_connection.py      smtp_connection.py-20070618204456-nu6wag1ste4biuk2-1
      bzrlib/symbol_versioning.py    symbol_versioning.py-20060105104851-9ecf8af605d15a80
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
      bzrlib/tests/blackbox/test_add.py test_add.py-20060518072250-857e4f86f54a30b2
      bzrlib/tests/blackbox/test_ancestry.py test_ancestry.py-20060131142602-6d9524c490537e90
      bzrlib/tests/blackbox/test_help.py test_help.py-20060216004358-4ee8a2a338f75a62
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
      bzrlib/tests/blackbox/test_merge_directive.py test_merge_directive-20070302012039-zh7uhy39biairtn0-1
      bzrlib/tests/blackbox/test_pull.py test_pull.py-20051201144907-64959364f629947f
      bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/blackbox/test_tags.py test_tags.py-20070116132048-5h4qak2cm22jlb9e-1
      bzrlib/tests/blackbox/test_too_much.py blackbox.py-20050620052131-a7370d756399f615
      bzrlib/tests/branch_implementations/test_bound_sftp.py test_bound_sftp.py-20051231055311-2f96048c4f0940ef
      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/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/repository_implementations/test_commit_builder.py test_commit_builder.py-20060606110838-76e3ra5slucqus81-1
      bzrlib/tests/repository_implementations/test_fileid_involved.py test_file_involved.py-20051215205901-728a172d1014daaa
      bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
      bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_graph.py     test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
      bzrlib/tests/test_help.py      test_help.py-20070419045354-6q6rq15j9e2n5fna-1
      bzrlib/tests/test_index.py     test_index.py-20070712131115-lolkarso50vjr64s-2
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
      bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
      bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
      bzrlib/tests/test_missing.py   test_missing.py-20051212000028-694fa4f658a81f48
      bzrlib/tests/test_options.py   testoptions.py-20051014093702-96457cfc86319a8f
      bzrlib/tests/test_pack.py      test_container.py-20070607160755-tr8zc26q18rn0jnb-2
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
      bzrlib/tests/test_revisionnamespaces.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_smart.py     test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_smtp_connection.py test_smtp_connection-20070618204509-wuyxc0r0ztrecv7e-1
      bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
      bzrlib/tests/test_tree.py      test_tree.py-20060724065232-khgrr0vvmt6ih0mi-1
      bzrlib/tests/test_upgrade.py   test_upgrade.py-20051004040251-555fe1d2bae1bc71
      bzrlib/tests/workingtree_implementations/test_inv.py test_inv.py-20070311221604-ighlq8tbn5xq0kuo-1
      bzrlib/tests/workingtree_implementations/test_is_ignored.py test_is_ignored.py-20060518083307-a5b383dd4d070083
      bzrlib/tests/workingtree_implementations/test_merge_from_branch.py test_merge_from_bran-20060904034200-12jxyk2zlhpufxe1-1
      bzrlib/trace.py                trace.py-20050309040759-c8ed824bdcd4748a
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/local.py      local_transport.py-20050711165921-9b1f142bfe480c24
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
      bzrlib/win32utils.py           win32console.py-20051021033308-123c6c929d04973d
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
      doc/default.css                default.css-20060622101119-tgwtdci8z769bjb9-1
      doc/developers/bundles.txt     bundles.txt-20070621030528-qkjnugd7iyud6ow3-1
      doc/developers/index.txt       index.txt-20070508041241-qznziunkg0nffhiw-1
      doc/developers/profiling.txt   profiling.txt-20070531045713-j15mxufywgzwdeu8-1
      doc/developers/repository.txt  repository.txt-20070709152006-xkhlek456eclha4u-1
      doc/http_smart_server.txt      fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
      doc/index.txt                  index.txt-20060622101119-tgwtdci8z769bjb9-2
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
      tools/doc_generate/autodoc_man.py bzrman.py-20050601153041-0ff7f74de456d15e
      tools/doc_generate/autodoc_rstx.py autodoc_rstx.py-20060420024836-3e0d4a526452193c
      tools/rst2html.py              rst2html.py-20060817120932-gn177u8v0008txhu-1
      tools/win32/bzr-win32-bdist-postinstall.py bzrwin32bdistpostinstall.py-20060629085133-098bsfj3va8jc0ql-1
      tools/win32/bzr.iss.cog        bzr.iss.cog-20060622100836-b3yup582rt3y0nvm-5
      bzrlib/tests/blackbox/test_send.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 2598.6.21
    revision-id: ghigo at venice-20070813171344-1qd4y1a70gav4gde
    parent: ghigo at venice-20070726223849-rn3omaw72fexxvmz
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Mon 2007-08-13 19:13:44 +0200
    message:
      updates on the basis of Jhon email
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.20
    revision-id: ghigo at venice-20070726223849-rn3omaw72fexxvmz
    parent: ghigo at venice-20070726222759-re7mrag50tghahb7
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-07-27 00:38:49 +0200
    message:
      Small clean up
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.19
    revision-id: ghigo at venice-20070726222759-re7mrag50tghahb7
    parent: ghigo at venice-20070726222547-sssldoion0tgxido
    parent: pqm at pqm.ubuntu.com-20070726134355-tlidmsn3eux09idz
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-07-27 00:27:59 +0200
    message:
      update to the latest bzr.dev
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
    ------------------------------------------------------------
    revno: 2598.6.18
    revision-id: ghigo at venice-20070726222547-sssldoion0tgxido
    parent: ghigo at venice-20070726221957-za2w39visme8melg
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-07-27 00:25:47 +0200
    message:
      Update the tests to the new *_encoded() functions
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.17
    revision-id: ghigo at venice-20070726221957-za2w39visme8melg
    parent: ghigo at venice-20070726054704-ni5ehs28j2cll1ac
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Fri 2007-07-27 00:19:57 +0200
    message:
      Revert the behaviour of the function make_commit_message_template() and make_commit_message_template() to the original one.
      Add the function make_commit_message_template_encoded() and make_commit_message_template_encoded() with the new behaviour.
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.16
    revision-id: ghigo at venice-20070726054704-ni5ehs28j2cll1ac
    parent: ghigo at venice-20070725214400-s7nbvixlugzb3j8k
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Thu 2007-07-26 07:47:04 +0200
    message:
      Add the "replace" option to the encodeing of the path
    modified:
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
    ------------------------------------------------------------
    revno: 2598.6.15
    revision-id: ghigo at venice-20070725214400-s7nbvixlugzb3j8k
    parent: ghigo at venice-20070725213832-pe0ssmcily088vb5
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Wed 2007-07-25 23:44:00 +0200
    message:
      Update the param description
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.14
    revision-id: ghigo at venice-20070725213832-pe0ssmcily088vb5
    parent: ghigo at venice-20070725212901-1udcxp6s30f1c2yt
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Wed 2007-07-25 23:38:32 +0200
    message:
      Update the test
    modified:
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.13
    revision-id: ghigo at venice-20070725212901-1udcxp6s30f1c2yt
    parent: ghigo at venice-20070725212508-5hsxs33pxdz82pry
    parent: pqm at pqm.ubuntu.com-20070725140043-22lenkarm0oc3tvx
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Wed 2007-07-25 23:29:01 +0200
    message:
      Update to the latest bzr.dev
    added:
      bzrlib/_dirstate_helpers_c.pyx dirstate_helpers.pyx-20070503201057-u425eni465q4idwn-3
      bzrlib/_dirstate_helpers_py.py _dirstate_helpers_py-20070710145033-90nz6cqglsk150jy-1
      bzrlib/benchmarks/bench_dirstate.py bench_dirstate.py-20070503203500-gs0pz6zkvjpq9l2x-1
      bzrlib/email_message.py        email_message.py-20070718143823-660zfcl54xi1v65u-1
      bzrlib/tests/commands/         commands-20070518182516-v16lhwkl07jbj1k2-1
      bzrlib/tests/commands/__init__.py __init__.py-20070520095518-ecfl8531fxgjeycj-1
      bzrlib/tests/commands/test_branch.py test_branch.py-20070520173042-ou3a796w3xn1y8ps-1
      bzrlib/tests/commands/test_cat.py test_cat.py-20070525170351-vg2apsfb5j413913-1
      bzrlib/tests/commands/test_checkout.py test_checkout.py-20070525151718-vm7ligd5px5dtmda-1
      bzrlib/tests/commands/test_init.py test_init.py-20070514074921-audbcdd8o56dpame-1
      bzrlib/tests/commands/test_init_repository.py test_init_repository-20070525163812-87xw0678ky573l27-1
      bzrlib/tests/commands/test_merge.py test_merge.py-20070525163813-v8yfs5wu77hjsx0o-1
      bzrlib/tests/commands/test_missing.py test_missing.py-20070525171057-qr1z4sleurlp9b5v-1
      bzrlib/tests/commands/test_pull.py test_pull.py-20070525144918-cgmunk4ici2krjnd-1
      bzrlib/tests/commands/test_push.py test_push.py-20070525122003-gc1ob0ea0nueoqgj-1
      bzrlib/tests/test__dirstate_helpers.py test_dirstate_helper-20070504035751-jsbn00xodv0y1eve-2
      bzrlib/tests/test_email_message.py test_email_message.p-20070718143823-660zfcl54xi1v65u-2
      bzrlib/tests/transport_util.py transportutil.py-20070525113600-5v2igk89s8fensom-1
      doc/conflicts.txt              conflicts.txt-20070723221841-ns3jvwxdb4okn6fk-1
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/benchmarks/__init__.py  __init__.py-20060516064526-eb0d37c78e86065d
      bzrlib/benchmarks/bench_bundle.py bench_bundle.py-20060719055338-o1c6ieybbwt6c3zv-1
      bzrlib/benchmarks/bench_checkout.py bench_checkout.py-20060521233052-b52eba18ee46046b
      bzrlib/benchmarks/bench_commit.py bench_commit.py-20060522031508-4ea2551904e4becb
      bzrlib/benchmarks/bench_log.py bench_log.py-20060611214524-mr18tk29h8v0qb4x-1
      bzrlib/benchmarks/bench_status.py bench_status.py-20060520215801-2cc60f6da5625927
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/__init__.py      changeset.py-20050513021216-b02ab57fb9738913
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/conflicts.py            conflicts.py-20051001061850-78ef952ba63d2b42
      bzrlib/deprecated_graph.py     graph.py-20050905070950-b47dce53236c5e48
      bzrlib/dirstate.py             dirstate.py-20060728012006-d6mvoihjb3je9peu-1
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revisiontree.py         revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
      bzrlib/smart/client.py         client.py-20061116014825-2k6ada6xgulslami-1
      bzrlib/smart/repository.py     repository.py-20061128022038-vr5wy5bubyb8xttk-1
      bzrlib/smtp_connection.py      smtp_connection.py-20070618204456-nu6wag1ste4biuk2-1
      bzrlib/status.py               status.py-20050505062338-431bfa63ec9b19e6
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
      bzrlib/tests/blackbox/test_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
      bzrlib/tests/blackbox/test_merge_directive.py test_merge_directive-20070302012039-zh7uhy39biairtn0-1
      bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
      bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/interversionedfile_implementations/test_join.py test_join.py-20060302012326-9b5e9b0f0a03fedc
      bzrlib/tests/repository_implementations/test_reconcile.py test_reconcile.py-20060223022332-572ef70a3288e369
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_bzrdir.py    test_bzrdir.py-20060131065654-deba40eef51cf220
      bzrlib/tests/test_conflicts.py test_conflicts.py-20051006031059-e2dad9bbeaa5891f
      bzrlib/tests/test_dirstate.py  test_dirstate.py-20060728012006-d6mvoihjb3je9peu-2
      bzrlib/tests/test_http.py      testhttp.py-20051018020158-b2eef6e867c514d9
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
      bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
      bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
      bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
      bzrlib/tests/test_remote.py    test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_smtp_connection.py test_smtp_connection-20070618204509-wuyxc0r0ztrecv7e-1
      bzrlib/tests/test_transport.py testtransport.py-20050718175618-e5cdb99f4555ddce
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
      bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
      bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/ftp.py        ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
      bzrlib/transport/http/_pycurl.py pycurlhttp.py-20060110060940-4e2a705911af77a6
      bzrlib/transport/http/_urllib.py _urlgrabber.py-20060113083826-0bbf7d992fbf090c
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
      doc/developers/HACKING         HACKING-20050805200004-2a5dc975d870f78c
      doc/index.txt                  index.txt-20060622101119-tgwtdci8z769bjb9-2
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
    ------------------------------------------------------------
    revno: 2598.6.12
    revision-id: ghigo at venice-20070725212508-5hsxs33pxdz82pry
    parent: ghigo at venice-20070720080314-nq92ucwq0t0kxhiy
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose2
    timestamp: Wed 2007-07-25 23:25:08 +0200
    message:
      Move the encoding of the commit message at the command line level
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.11
    revision-id: ghigo at venice-20070720080314-nq92ucwq0t0kxhiy
    parent: ghigo at venice-20070720075831-agxwyertov4td8dn
    parent: pqm at pqm.ubuntu.com-20070720065314-hhb0qw5h3cfe8mga
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Fri 2007-07-20 10:03:14 +0200
    message:
      update to the latest bzr.dev
    removed:
      bzrlib/bundle/common.py        common.py-20050619223838-f25048f6638f04c6
      bzrlib/bundle/old/             old-20051119041827-8f2417a9cc3b67f2
      bzrlib/bundle/old/send_changeset.py send_changeset.py-20050628200204-9478d383946f1871
    added:
      bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
      bzrlib/file_names.py           file_collection.py-20070714100753-j2zz4ahtk331k5zm-1
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
      bzrlib/plugins/multiparent.py  mpregen-20070411063203-5x9z7i73add0d6f6-1
      bzrlib/tests/test_file_names.py test_file_collection-20070714093417-5gc9d821to85zo4t-1
      bzrlib/tests/test_index.py     test_index.py-20070712131115-lolkarso50vjr64s-2
      bzrlib/tests/test_multiparent.py test_multiparent.py-20070410133617-n1jdhcc1n1mibarp-4
      bzrlib/transport/unlistable.py unlistable.py-20070714093417-5gc9d821to85zo4t-2
      doc/bug_trackers.txt           bug_trackers.txt-20070713223459-khxdlcudraii95uv-1
      doc/developers/bundle-format4.txt bundleformat4.txt-20070621120628-r3332ovd8u4agv8i-1
      doc/developers/diff.txt        diff.txt-20070716233605-2q6jzorua7mr42jk-1
      doc/developers/indices.txt     indices.txt-20070713142939-m5cdnp31u8ape0td-1
      doc/developers/repository.txt  repository.txt-20070709152006-xkhlek456eclha4u-1
    renamed:
      bzrlib/tests/blackbox/test_bundle.py => bzrlib/tests/blackbox/test_submit.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/apply_bundle.py  apply_changeset.py-20050620044656-dba4eb8021a36f95
      bzrlib/bundle/bundle_data.py   read_changeset.py-20050619171944-c0d95aa685537640
      bzrlib/bundle/commands.py      __init__.py-20050617152058-1b6530d9ab85c11c
      bzrlib/bundle/serializer/__init__.py __init__.py-20051118175413-86b97db0b618feef
      bzrlib/bundle/serializer/v08.py v06.py-20051119041339-ee43f97270b01823
      bzrlib/bundle/serializer/v09.py v09.py-20060921014829-2l5elu11mu2ubvek-1
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/graph.py                graph_walker.py-20070525030359-y852guab65d4wtn0-1
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/smart/server.py         server.py-20061110062051-chzu10y32vx8gvur-1
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
      bzrlib/tests/blackbox/test_log.py test_log.py-20060112090212-78f6ea560c868e24
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
      bzrlib/tests/blackbox/test_merge_directive.py test_merge_directive-20070302012039-zh7uhy39biairtn0-1
      bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      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_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
      bzrlib/tests/test_read_bundle.py test_read_bundle.py-20060615211421-ud8cwr1ulgd914zf-1
      bzrlib/tests/test_sftp_transport.py testsftp.py-20051027032739-247570325fec7e7e
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
      bzrlib/tests/test_weave.py     testknit.py-20050627023648-9833cc5562ffb785
      bzrlib/tests/test_xml.py       test_xml.py-20050905091053-80b45588931a9b35
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/chroot.py     chroot.py-20061011104729-0us9mgm97z378vnt-1
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      bzrlib/transport/ftp.py        ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
      bzrlib/transport/local.py      local_transport.py-20050711165921-9b1f142bfe480c24
      bzrlib/transport/memory.py     memory.py-20051016101338-cd008dbdf69f04fc
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
      bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
      bzrlib/xml5.py                 xml5.py-20050907032657-aac8f960815b66b1
      bzrlib/xml_serializer.py       xml.py-20050309040759-57d51586fdec365d
      doc/README.1st                 README.1st-20060314161707-b943d5d4cce669b6
      doc/configuration.txt          configuration.txt-20060314161707-868350809502af01
      doc/developers/HACKING         HACKING-20050805200004-2a5dc975d870f78c
      doc/developers/bundles.txt     bundles.txt-20070621030528-qkjnugd7iyud6ow3-1
      doc/developers/index.txt       index.txt-20070508041241-qznziunkg0nffhiw-1
      doc/developers/performance-roadmap.txt performanceroadmap.t-20070507174912-mwv3xv517cs4sisd-2
      doc/developers/performance.dot performance.dot-20070527173558-rqaqxn1al7vzgcto-3
      doc/http_smart_server.txt      fastcgi.txt-20061005091552-rz8pva0olkxv0sd8-3
      doc/plugins.txt                plugins.txt-20060314145616-525099a747f3ffdd
      doc/tutorial.txt               tutorial.txt-20050804190939-9dcbba2ef053bc84
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
      tools/capture_tree.py          capture_tree.py-20051004100938-c7ff053182f5ae51
      tools/rst2prettyhtml.py        rst2prettyhtml.py-20060929181914-t7dh62f2wxi0i5aj-1
      tools/trace-revisions          tracerevisions-20051107162041-9dfee0a7324d206d
      bzrlib/tests/blackbox/test_submit.py test_bundle.py-20060616222707-c21c8b7ea5ef57b1
    ------------------------------------------------------------
    revno: 2598.6.10
    revision-id: ghigo at venice-20070720075831-agxwyertov4td8dn
    parent: ghigo at venice-20070717164221-52lc5ucruuvjvova
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Fri 2007-07-20 09:58:31 +0200
    message:
      In the commit dialog, the diff is stored as 8-bit raw data
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.9
    revision-id: ghigo at venice-20070717164221-52lc5ucruuvjvova
    parent: ghigo at venice-20070717162736-3t9jgxmxcasg2yvr
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Tue 2007-07-17 18:42:21 +0200
    message:
      Simplify the diff encoding logic in the commit message
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.8
    revision-id: ghigo at venice-20070717162736-3t9jgxmxcasg2yvr
    parent: ghigo at venice-20070716191531-4fs3y55tw5o4o6uk
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Tue 2007-07-17 18:27:36 +0200
    message:
      As suggested by Martin Pool replace user_encoding with output_encoding
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.7
    revision-id: ghigo at venice-20070716191531-4fs3y55tw5o4o6uk
    parent: ghigo at venice-20070716181359-5mcipugnmxmazdi4
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Mon 2007-07-16 21:15:31 +0200
    message:
      Thank to Aaron Bentley for the bug signalation...
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
    ------------------------------------------------------------
    revno: 2598.6.6
    revision-id: ghigo at venice-20070716181359-5mcipugnmxmazdi4
    parent: ghigo at venice-20070716175207-d1d8mmetgg8krcbd
    parent: pqm at pqm.ubuntu.com-20070716084122-jfjzwtbimsjv0iqv
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Mon 2007-07-16 20:13:59 +0200
    message:
      update to the latest bzr.dev
    added:
      bzrlib/_knit_load_data_c.pyx   knit_c.pyx-20070509143944-u42gy8w387a10m0j-1
      bzrlib/_knit_load_data_py.py   _knit_load_data_py.p-20070629000948-9a0nh4s118bi5y8n-1
      bzrlib/benchmarks/bench_knit.py bench_knit.py-20070509145850-pan5jnd3hl7mfdya-1
      bzrlib/tests/blackbox/test_pack.py test_pack.py-20070712120702-0c7585lh56p894mo-1
      bzrlib/tests/repository_implementations/test_pack.py test_pack.py-20070712120702-0c7585lh56p894mo-2
      bzrlib/tests/workingtree_implementations/test_uncommit.py test_uncommit.py-20070712063057-8zaprw7t7lcqxeje-1
      bzrlib/util/tests/             bzrlibutiltests-20070713054332-wmm62qs3xvyfzwup-1
      bzrlib/util/tests/__init__.py  __init__.py-20070713054446-oliu3oth0gy08y0t-1
      bzrlib/util/tests/test_bencode.py test_bencode.py-20070713042202-qjw8rppxaz7ky6i6-1
    modified:
      .bzrignore                     bzrignore-20050311232317-81f7b71efa2db11a
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/benchmarks/__init__.py  __init__.py-20060516064526-eb0d37c78e86065d
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/bundle/commands.py      __init__.py-20050617152058-1b6530d9ab85c11c
      bzrlib/bundle/serializer/__init__.py __init__.py-20051118175413-86b97db0b618feef
      bzrlib/cmd_version_info.py     __init__.py-20051228204928-697d01fdca29c99b
      bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
      bzrlib/commit.py               commit.py-20050511101309-79ec1a0168e0e825
      bzrlib/conflicts.py            conflicts.py-20051001061850-78ef952ba63d2b42
      bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
      bzrlib/help_topics.py          help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
      bzrlib/info.py                 info.py-20050323235939-6bbfe7d9700b0b9b
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/memorytree.py           memorytree.py-20060906023413-4wlkalbdpsxi2r4y-1
      bzrlib/merge.py                merge.py-20050513021216-953b65a438527106
      bzrlib/option.py               option.py-20051014052914-661fb36e76e7362f
      bzrlib/plugin.py               plugin.py-20050622060424-829b654519533d69
      bzrlib/plugins/launchpad/__init__.py __init__.py-20060315182712-2d5feebd2a1032dc
      bzrlib/progress.py             progress.py-20050610070202-df9faaab791964c0
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
      bzrlib/sign_my_commits.py      sign_my_commits.py-20060215152201-5a6363365180e671
      bzrlib/smart/server.py         server.py-20061110062051-chzu10y32vx8gvur-1
      bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
      bzrlib/store/revision/text.py  text.py-20060303020652-e49155f0da4d14ab
      bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
      bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
      bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
      bzrlib/tests/blackbox/test_help.py test_help.py-20060216004358-4ee8a2a338f75a62
      bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
      bzrlib/tests/blackbox/test_remove.py test_remove.py-20060530011439-fika5rm84lon0goe-1
      bzrlib/tests/blackbox/test_selftest.py test_selftest.py-20060123024542-01c5f1bbcb596d78
      bzrlib/tests/blackbox/test_serve.py test_serve.py-20060913064329-8t2pvmsikl4s3xhl-1
      bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
      bzrlib/tests/branch_implementations/test_revision_id_to_revno.py test_revision_id_to_-20070417200738-lo776wkqikhe5goo-1
      bzrlib/tests/branch_implementations/test_sprout.py test_sprout.py-20070521151739-b8t8p7axw1h966ws-1
      bzrlib/tests/branch_implementations/test_uncommit.py test_uncommit.py-20070205180410-ge7058d9138mvq3x-1
      bzrlib/tests/branch_implementations/test_update.py test_update.py-20060305010612-e68efbcbb1baa69f
      bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
      bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
      bzrlib/tests/revisionstore_implementations/test_all.py test_all.py-20060303020702-9b2d4c1d75407f31
      bzrlib/tests/test_ancestry.py  test_ancestry.py-20050913023709-69768e94848312c6
      bzrlib/tests/test_bundle.py    test.py-20050630184834-092aa401ab9f039c
      bzrlib/tests/test_commit.py    test_commit.py-20050914060732-279f057f8c295434
      bzrlib/tests/test_errors.py    test_errors.py-20060210110251-41aba2deddf936a8
      bzrlib/tests/test_help.py      test_help.py-20070419045354-6q6rq15j9e2n5fna-1
      bzrlib/tests/test_info.py      test_info.py-20070320150933-m0xxm1g7xi9v6noe-1
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
      bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
      bzrlib/tests/test_options.py   testoptions.py-20051014093702-96457cfc86319a8f
      bzrlib/tests/test_plugins.py   plugins.py-20050622075746-32002b55e5e943e9
      bzrlib/tests/test_progress.py  test_progress.py-20060308160359-978c397bc79b7fda
      bzrlib/tests/test_read_bundle.py test_read_bundle.py-20060615211421-ud8cwr1ulgd914zf-1
      bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
      bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
      bzrlib/tests/test_source.py    test_source.py-20051207061333-a58dea6abecc030d
      bzrlib/tests/test_transport_implementations.py test_transport_implementations.py-20051227111451-f97c5c7d5c49fce7
      bzrlib/tests/workingtree_implementations/__init__.py __init__.py-20060203003124-b2aa5aca21a8bfad
      bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
      bzrlib/tests/workingtree_implementations/test_parents.py test_set_parents.py-20060807231740-yicmnlci1mj8smu1-1
      bzrlib/tests/workingtree_implementations/test_remove.py test_remove.py-20070413183901-rvnp85rtc0q0sclp-1
      bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
      bzrlib/transform.py            transform.py-20060105172343-dd99e54394d91687
      bzrlib/transport/__init__.py   transport.py-20050711165921-4978aa7ce1285ad5
      bzrlib/transport/chroot.py     chroot.py-20061011104729-0us9mgm97z378vnt-1
      bzrlib/transport/decorator.py  decorator.py-20060402223305-e913a0f25319ab42
      bzrlib/transport/ftp.py        ftp.py-20051116161804-58dc9506548c2a53
      bzrlib/transport/http/__init__.py http_transport.py-20050711212304-506c5fd1059ace96
      bzrlib/transport/local.py      local_transport.py-20050711165921-9b1f142bfe480c24
      bzrlib/transport/memory.py     memory.py-20051016101338-cd008dbdf69f04fc
      bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/uncommit.py             uncommit.py-20050626215513-5ec509fa425b305c
      bzrlib/util/bencode.py         bencode.py-20070220044742-sltr28q21w2wzlxi-1
      bzrlib/version.py              version.py-20060816024207-ves6ult9a11taj9t-1
      bzrlib/win32utils.py           win32console.py-20051021033308-123c6c929d04973d
      bzrlib/workingtree.py          workingtree.py-20050511021032-29b6ec0a681e02e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
      bzrlib/xml5.py                 xml5.py-20050907032657-aac8f960815b66b1
      doc/configuration.txt          configuration.txt-20060314161707-868350809502af01
      doc/developers/HACKING         HACKING-20050805200004-2a5dc975d870f78c
      doc/developers/performance.dot performance.dot-20070527173558-rqaqxn1al7vzgcto-3
      setup.py                       setup.py-20050314065409-02f8a0a6e3f9bc70
    ------------------------------------------------------------
    revno: 2598.6.5
    revision-id: ghigo at venice-20070716175207-d1d8mmetgg8krcbd
    parent: ghigo at venice-20070711190503-s776n86krp6oeijy
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Mon 2007-07-16 19:52:07 +0200
    message:
      On the basis of the email from Martin, Aaron I changed the encoding logic
      in the function make_commit_message_template()
      - in the diff, if the line is an header is decoded as UTF8
      - otherwise the line is decoded as bzrlib.user_encoding
      the rationale is that the message is already encoded as bzrlib.user_encoding
      during the writing.
      So the header which is know the encoding are correctly decoded. For the
      other data, the decoding is the same of one which is used during the 
      file writing in order do minimize the encoding/decoding effect.
      
      In order to move the user encoding at the UI level, the parameter user_encoding
      is added to the functions
      
      - make_commit_message_template 
      - _create_temp_file_with_commit_template
      - edit_commit_message
      
      
      Finally, I also added a paragraph to the tutorial about the option, and added
      another while I was there (thank to James Westby)
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      doc/tutorial.txt               tutorial.txt-20050804190939-9dcbba2ef053bc84
    ------------------------------------------------------------
    revno: 2598.6.4
    revision-id: ghigo at venice-20070711190503-s776n86krp6oeijy
    parent: ghigo at venice-20070711183728-4r5bws042aw361cd
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Wed 2007-07-11 21:05:03 +0200
    message:
      - Update NEWS
      - Revert the change '%r' to '%s' for the path in the diff generator
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
    ------------------------------------------------------------
    revno: 2598.6.3
    revision-id: ghigo at venice-20070711183728-4r5bws042aw361cd
    parent: ghigo at venice-20070710211157-0jx3e7fmigifj0c2
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Wed 2007-07-11 20:37:28 +0200
    message:
      Add test case
    modified:
      bzrlib/diff.py                 diff.py-20050309040759-26944fbbf2ebbf36
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.2
    revision-id: ghigo at venice-20070710211157-0jx3e7fmigifj0c2
    parent: ghigo at venice-20070710191709-9p9yvqspufxc9eon
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Tue 2007-07-10 23:11:57 +0200
    message:
      Add testcase
      Add support for unicode and StringIO in the make_commit_message_template function
    modified:
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
      bzrlib/tests/test_msgeditor.py test_msgeditor.py-20051202041359-920315ec6011ee51
    ------------------------------------------------------------
    revno: 2598.6.1
    revision-id: ghigo at venice-20070710191709-9p9yvqspufxc9eon
    parent: pqm at pqm.ubuntu.com-20070710021221-8o98e4q8vcpaarnk
    committer: ghigo <ghigo at venice>
    branch nick: bzr-ci-verbose
    timestamp: Tue 2007-07-10 21:17:09 +0200
    message:
      add support for the diff at the end of the commit messages
    modified:
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/msgeditor.py            msgeditor.py-20050901111708-ef6d8de98f5d8f2f
=== modified file 'NEWS'
--- a/NEWS	2007-08-31 02:05:10 +0000
+++ b/NEWS	2007-08-31 05:32:00 +0000
@@ -16,86 +16,89 @@
 
   FEATURES:
 
-    * New option ``--author`` in ``bzr commit`` to specify the author of the
-      change, if it's different from the committer. ``bzr log`` and
-      ``bzr annotate`` display the author instead of the committer.
-      (Lukáš Lalinský)
+   * New option ``--author`` in ``bzr commit`` to specify the author of the
+     change, if it's different from the committer. ``bzr log`` and
+     ``bzr annotate`` display the author instead of the committer.
+     (Lukáš Lalinský)
 
   BUG FIXES:
 
    * ``bzr plugins`` now lists the version number for each plugin in square
      brackets after the path. (Robert Collins, #125421)
 
-    * Suppress warning "integer argument expected, got float" from Paramiko,
-      which sometimes caused false test failures.  (Martin Pool)
-
-    * Fix bug in bundle 4 that could cause attempts to write data to wrong
-      versionedfile.  (Aaron Bentley)
-
-    * Diffs generated using "diff -p" no longer break the patch parser.
-      (Aaron Bentley)
-
-    * get_transport treats an empty possible_transports list the same as a non-
-      empty one.  (Aaron Bentley)
-
-    * patch verification for merge directives is reactivated, and works with
-      CRLF and CR files.  (Aaron Bentley)
-
-    * Accept ..\ as a path in revision specifiers. This fixes for example
-      "-r branch:..\other-branch" on Windows.  (Lukáš Lalinský) 
-
-    * ``BZR_PLUGIN_PATH`` may now contain trailing slashes.
-      (Blake Winton, #129299)
-
-    * man page no longer lists hidden options (#131667, Aaron Bentley)
-
-    * ``uncommit --help`` now explains the -r option adequately.  (Daniel
-      Watkins, #106726)
-
-    * Error messages are now better formatted with parameters (such as
-      filenames) quoted when necessary. This avoids confusion when directory
-      names ending in a '.' at the end of messages were confused with a
-      full stop that may or not have been there. (Daniel Watkins, #129791)
-
-    * Fix ``status FILE -r X..Y``. (Lukáš Lalinský)
-
-    * If a particular command is an alias, ``help`` will show the alias
-      instead of claiming there is no help for said alias. (Daniel Watkins,
-      #133548)
-
-    * TreeTransform-based operations, like pull, merge, revert, and branch,
-      now roll back if they encounter an error.  (Aaron Bentley, #67699)
-
-    * ``bzr commit`` now exits cleanly if a character unsupported by the
-      current encoding is used in the commit message.  (Daniel Watkins,
-      #116143)
-
-    * bzr send uses default values for ranges when only half of an elipsis
-      is specified ("-r..5" or "-r5..").  (#61685, Aaron Bentley)
+   * Suppress warning "integer argument expected, got float" from Paramiko,
+     which sometimes caused false test failures.  (Martin Pool)
+
+   * Fix bug in bundle 4 that could cause attempts to write data to wrong
+     versionedfile.  (Aaron Bentley)
+
+   * Diffs generated using "diff -p" no longer break the patch parser.
+     (Aaron Bentley)
+
+   * get_transport treats an empty possible_transports list the same as a non-
+     empty one.  (Aaron Bentley)
+
+   * patch verification for merge directives is reactivated, and works with
+     CRLF and CR files.  (Aaron Bentley)
+
+   * Accept ..\ as a path in revision specifiers. This fixes for example
+     "-r branch:..\other-branch" on Windows.  (Lukáš Lalinský) 
+
+   * ``BZR_PLUGIN_PATH`` may now contain trailing slashes.
+     (Blake Winton, #129299)
+
+   * man page no longer lists hidden options (#131667, Aaron Bentley)
+
+   * ``uncommit --help`` now explains the -r option adequately.  (Daniel
+     Watkins, #106726)
+
+   * Error messages are now better formatted with parameters (such as
+     filenames) quoted when necessary. This avoids confusion when directory
+     names ending in a '.' at the end of messages were confused with a
+     full stop that may or not have been there. (Daniel Watkins, #129791)
+
+   * Fix ``status FILE -r X..Y``. (Lukáš Lalinský)
+
+   * If a particular command is an alias, ``help`` will show the alias
+     instead of claiming there is no help for said alias. (Daniel Watkins,
+     #133548)
+
+   * TreeTransform-based operations, like pull, merge, revert, and branch,
+     now roll back if they encounter an error.  (Aaron Bentley, #67699)
+
+   * ``bzr commit`` now exits cleanly if a character unsupported by the
+     current encoding is used in the commit message.  (Daniel Watkins,
+     #116143)
+
+   * bzr send uses default values for ranges when only half of an elipsis
+     is specified ("-r..5" or "-r5..").  (#61685, Aaron Bentley)
 
   IMPROVEMENTS:
 
-    * ``pull`` and ``merge`` are much faster at installing bundle format 4.
-      (Aaron Bentley)
-
-    * ``pull -v`` no longer includes deltas, making it much faster.
-      (Aaron Bentley)
-
-    * ``send`` now sends the directive as an attachment by default.
-      (Aaron Bentley, Lukáš Lalinský, Alexander Belchenko)
-
-    * Documentation updates (Martin Albisetti)
-
-    * Help on debug flags is now included in ``help global-options``.
-      (Daniel Watkins, #124853)
-
-    * Parameters passed on the command line are checked to ensure they are
-      supported by the encoding in use. (Daniel Watkins)
-
-    * The compression used within the bzr repository has changed from zlib
-      level 9 to the zlib default level. This improves commit performance with
-      only a small increase in space used (and in some cases a reduction in
-      space). (Robert Collins)
+   * Add the option "--show-diff" to the commit command in order to display
+     the diff during the commit log creation. (Goffredo Baroncelli)
+
+   * ``pull`` and ``merge`` are much faster at installing bundle format 4.
+     (Aaron Bentley)
+
+   * ``pull -v`` no longer includes deltas, making it much faster.
+     (Aaron Bentley)
+
+   * ``send`` now sends the directive as an attachment by default.
+     (Aaron Bentley, Lukáš Lalinský, Alexander Belchenko)
+
+   * Documentation updates (Martin Albisetti)
+
+   * Help on debug flags is now included in ``help global-options``.
+     (Daniel Watkins, #124853)
+
+   * Parameters passed on the command line are checked to ensure they are
+     supported by the encoding in use. (Daniel Watkins)
+
+   * The compression used within the bzr repository has changed from zlib
+     level 9 to the zlib default level. This improves commit performance with
+     only a small increase in space used (and in some cases a reduction in
+     space). (Robert Collins)
 
   API BREAKS:
 
@@ -126,6 +129,14 @@
      useful functionality for determining the path of a plugin, its tests, and
      its version information. (Robert Collins)
 
+   * Add the option user_encoding to the function 'show_diff_trees()'
+     in order to move the user encoding at the UI level. (Goffredo Baroncelli)
+
+   * Add the function make_commit_message_template_encoded() and the function
+     edit_commit_message_encoded() which handle encoded strings.
+     This is done in order to mix the commit messages (which is a unicode
+     string), and the diff which is a raw string. (Goffredo Baroncelli)
+
    * New trace function ``mutter_callsite`` will print out a subset of the
      stack to the log, which can be useful for gathering debug details.
      (Robert Collins)

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2007-08-29 15:07:11 +0000
+++ b/bzrlib/builtins.py	2007-08-31 05:32:00 +0000
@@ -2194,6 +2194,9 @@
                          "the master branch until a normal commit "
                          "is performed."
                     ),
+              Option('show-diff',
+                     help='When no message is supplied, show the diff along'
+                     ' with the status summary in the message editor.'),
              ]
     aliases = ['ci', 'checkin']
 
@@ -2221,12 +2224,20 @@
 
     def run(self, message=None, file=None, verbose=True, selected_list=None,
             unchanged=False, strict=False, local=False, fixes=None,
-            author=None):
-        from bzrlib.commit import (NullCommitReporter, ReportCommitToLog)
-        from bzrlib.errors import (PointlessCommit, ConflictsInTree,
-                StrictCommitFailed)
-        from bzrlib.msgeditor import edit_commit_message, \
-                make_commit_message_template
+            author=None, show_diff=False):
+        from bzrlib.commit import (
+            NullCommitReporter,
+            ReportCommitToLog
+        )
+        from bzrlib.errors import (
+            PointlessCommit,
+            ConflictsInTree,
+            StrictCommitFailed
+        )
+        from bzrlib.msgeditor import (
+            edit_commit_message_encoded,
+            make_commit_message_template_encoded
+        )
 
         # TODO: Need a blackbox test for invoking the external editor; may be
         # slightly problematic to run this cross-platform.
@@ -2254,8 +2265,10 @@
             """Callback to get commit message"""
             my_message = message
             if my_message is None and not file:
-                template = make_commit_message_template(tree, selected_list)
-                my_message = edit_commit_message(template)
+                t = make_commit_message_template_encoded(tree,
+                        selected_list, diff=show_diff,
+                        output_encoding=bzrlib.user_encoding)
+                my_message = edit_commit_message_encoded(t)
                 if my_message is None:
                     raise errors.BzrCommandError("please specify a commit"
                         " message with either --message or --file")

=== modified file 'bzrlib/diff.py'
--- a/bzrlib/diff.py	2007-08-19 09:49:02 +0000
+++ b/bzrlib/diff.py	2007-08-24 16:49:00 +0000
@@ -347,7 +347,8 @@
 def show_diff_trees(old_tree, new_tree, to_file, specific_files=None,
                     external_diff_options=None,
                     old_label='a/', new_label='b/',
-                    extra_trees=None):
+                    extra_trees=None,
+                    path_encoding='utf8'):
     """Show in text form the changes from one tree to another.
 
     to_files
@@ -358,6 +359,10 @@
 
     extra_trees
         If set, more Trees to use for looking up file ids
+
+    path_encoding
+        If set, the path will be encoded as specified, otherwise is supposed
+        to be utf8
     """
     old_tree.lock_read()
     try:
@@ -369,7 +374,8 @@
             return _show_diff_trees(old_tree, new_tree, to_file,
                                     specific_files, external_diff_options,
                                     old_label=old_label, new_label=new_label,
-                                    extra_trees=extra_trees)
+                                    extra_trees=extra_trees,
+                                    path_encoding=path_encoding)
         finally:
             new_tree.unlock()
             if extra_trees is not None:
@@ -380,7 +386,7 @@
 
 
 def _show_diff_trees(old_tree, new_tree, to_file,
-                     specific_files, external_diff_options, 
+                     specific_files, external_diff_options, path_encoding,
                      old_label='a/', new_label='b/', extra_trees=None):
 
     # GNU Patch uses the epoch date to detect files that are being added
@@ -405,7 +411,8 @@
     has_changes = 0
     for path, file_id, kind in delta.removed:
         has_changes = 1
-        print >>to_file, "=== removed %s '%s'" % (kind, path.encode('utf8'))
+        path_encoded = path.encode(path_encoding, "replace")
+        print >>to_file, "=== removed %s '%s'" % (kind, path_encoded)
         old_name = '%s%s\t%s' % (old_label, path,
                                  _patch_header_date(old_tree, file_id, path))
         new_name = '%s%s\t%s' % (new_label, path, EPOCH_DATE)
@@ -413,7 +420,8 @@
                                          new_name, None, None, to_file)
     for path, file_id, kind in delta.added:
         has_changes = 1
-        print >>to_file, "=== added %s '%s'" % (kind, path.encode('utf8'))
+        path_encoded = path.encode(path_encoding, "replace")
+        print >>to_file, "=== added %s '%s'" % (kind, path_encoded)
         old_name = '%s%s\t%s' % (old_label, path, EPOCH_DATE)
         new_name = '%s%s\t%s' % (new_label, path,
                                  _patch_header_date(new_tree, file_id, path))
@@ -424,9 +432,10 @@
          text_modified, meta_modified) in delta.renamed:
         has_changes = 1
         prop_str = get_prop_change(meta_modified)
-        print >>to_file, "=== renamed %s '%s' => '%s'%s" % (
-                    kind, old_path.encode('utf8'),
-                    new_path.encode('utf8'), prop_str)
+        oldpath_encoded = old_path.encode(path_encoding, "replace")
+        newpath_encoded = new_path.encode(path_encoding, "replace")
+        print >>to_file, "=== renamed %s '%s' => '%s'%s" % (kind,
+                            oldpath_encoded, newpath_encoded, prop_str)
         old_name = '%s%s\t%s' % (old_label, old_path,
                                  _patch_header_date(old_tree, file_id,
                                                     old_path))
@@ -439,8 +448,9 @@
     for path, file_id, kind, text_modified, meta_modified in delta.modified:
         has_changes = 1
         prop_str = get_prop_change(meta_modified)
-        print >>to_file, "=== modified %s '%s'%s" % (kind, path.encode('utf8'),
-                                                     prop_str)
+        path_encoded = path.encode(path_encoding, "replace")
+        print >>to_file, "=== modified %s '%s'%s" % (kind,
+                            path_encoded, prop_str)
         # The file may be in a different location in the old tree (because
         # the containing dir was renamed, but the file itself was not)
         old_path = old_tree.id2path(file_id)

=== modified file 'bzrlib/msgeditor.py'
--- a/bzrlib/msgeditor.py	2007-08-29 08:55:21 +0000
+++ b/bzrlib/msgeditor.py	2007-08-31 05:32:00 +0000
@@ -99,6 +99,34 @@
 
     :return:    commit message or None.
     """
+
+    if not start_message is None:
+        start_message = start_message.encode(bzrlib.user_encoding)
+    return edit_commit_message_encoded(infotext.encode(bzrlib.user_encoding),
+                                       ignoreline, start_message)
+
+
+def edit_commit_message_encoded(infotext, ignoreline=DEFAULT_IGNORE_LINE,
+                                start_message=None):
+    """Let the user edit a commit message in a temp file.
+
+    This is run if they don't give a message or
+    message-containing file on the command line.
+
+    :param infotext:    Text to be displayed at bottom of message
+                        for the user's reference;
+                        currently similar to 'bzr status'.
+                        The string is already encoded
+
+    :param ignoreline:  The separator to use above the infotext.
+
+    :param start_message:   The text to place above the separator, if any.
+                            This will not be removed from the message
+                            after the user has edited it.
+                            The string is already encoded
+
+    :return:    commit message or None.
+    """
     msgfilename = None
     try:
         msgfilename, hasinfo = _create_temp_file_with_commit_template(
@@ -163,12 +191,14 @@
     :param infotext:    Text to be displayed at bottom of message
                         for the user's reference;
                         currently similar to 'bzr status'.
+                        The text is already encoded.
 
     :param ignoreline:  The separator to use above the infotext.
 
     :param start_message:   The text to place above the separator, if any.
                             This will not be removed from the message
                             after the user has edited it.
+                            The string is already encoded
 
     :return:    2-tuple (temp file name, hasinfo)
     """
@@ -179,14 +209,11 @@
     msgfile = os.fdopen(tmp_fileno, 'w')
     try:
         if start_message is not None:
-            msgfile.write("%s\n" % start_message.encode(
-                                       bzrlib.user_encoding, 'replace'))
+            msgfile.write("%s\n" % start_message)
 
         if infotext is not None and infotext != "":
             hasinfo = True
-            msgfile.write("\n\n%s\n\n%s" % (ignoreline,
-                          infotext.encode(bzrlib.user_encoding,
-                                                'replace')))
+            msgfile.write("\n\n%s\n\n%s" %(ignoreline, infotext))
         else:
             hasinfo = False
     finally:
@@ -200,8 +227,6 @@
 
     Returns a unicode string containing the template.
     """
-    # TODO: Should probably be given the WorkingTree not the branch
-    #
     # TODO: make provision for this to be overridden or modified by a hook
     #
     # TODO: Rather than running the status command, should prepare a draft of
@@ -213,3 +238,30 @@
     show_tree_status(working_tree, specific_files=specific_files, 
                      to_file=status_tmp)
     return status_tmp.getvalue()
+
+
+def make_commit_message_template_encoded(working_tree, specific_files,
+                                         diff=None, output_encoding='utf-8'):
+    """Prepare a template file for a commit into a branch.
+
+    Returns an encoded string.
+    """
+    # TODO: make provision for this to be overridden or modified by a hook
+    #
+    # TODO: Rather than running the status command, should prepare a draft of
+    # the revision to be committed, then pause and ask the user to
+    # confirm/write a message.
+    from StringIO import StringIO       # must be unicode-safe
+    from bzrlib.diff import show_diff_trees
+
+    template = make_commit_message_template(working_tree, specific_files)
+    template = template.encode(output_encoding, "replace")
+
+    if diff:
+        stream = StringIO()
+        show_diff_trees(working_tree.basis_tree(),
+                        working_tree, stream, specific_files,
+                        path_encoding=output_encoding)
+        template = template + '\n' + stream.getvalue()
+
+    return template

=== modified file 'bzrlib/tests/test_msgeditor.py'
--- a/bzrlib/tests/test_msgeditor.py	2007-08-21 12:28:01 +0000
+++ b/bzrlib/tests/test_msgeditor.py	2007-08-31 05:32:00 +0000
@@ -20,18 +20,20 @@
 import os
 import sys
 
+from bzrlib import (
+    errors,
+    msgeditor,
+    osutils,
+    )
 from bzrlib.branch import Branch
 from bzrlib.config import ensure_config_dir_exists, config_filename
-import bzrlib.msgeditor 
+from bzrlib.msgeditor import (
+    make_commit_message_template_encoded,
+    edit_commit_message_encoded
+)
 from bzrlib.tests import TestCaseWithTransport, TestSkipped
 from bzrlib.trace import mutter
 
-from bzrlib import (
-    osutils,
-    errors
-    )
-
-
 class MsgEditorTest(TestCaseWithTransport):
 
     def make_uncommitted_tree(self):
@@ -50,13 +52,44 @@
     def test_commit_template(self):
         """Test building a commit message template"""
         working_tree = self.make_uncommitted_tree()
-        template = bzrlib.msgeditor.make_commit_message_template(working_tree, None)
+        template = msgeditor.make_commit_message_template(working_tree,
+                                                                 None)
         self.assertEqualDiff(template,
 u"""\
 added:
   hell\u00d8
 """)
 
+    def test_commit_template_encoded(self):
+        """Test building a commit message template"""
+        working_tree = self.make_uncommitted_tree()
+        template = make_commit_message_template_encoded(working_tree,
+                                                        None,
+                                                        output_encoding='utf8')
+        self.assertEqualDiff(template,
+u"""\
+added:
+  hell\u00d8
+""".encode("utf8"))
+
+
+    def test_commit_template_and_diff(self):
+        """Test building a commit message template"""
+        working_tree = self.make_uncommitted_tree()
+        template = make_commit_message_template_encoded(working_tree,
+                                                        None,
+                                                        diff=True,
+                                                        output_encoding='utf8')
+
+        self.assertTrue("""\
+@@ -0,0 +1,1 @@
++contents of hello
+""" in template)
+        self.assertTrue(u"""\
+added:
+  hell\u00d8
+""".encode('utf8') in template)
+
     def setUp(self):
         super(MsgEditorTest, self).setUp()
         self._bzr_editor = os.environ.get('BZR_EDITOR', None)
@@ -82,7 +115,7 @@
             os.chmod('fed.sh', 0755)
             os.environ['BZR_EDITOR'] = './fed.sh'
 
-        self.assertEqual(True, bzrlib.msgeditor._run_editor(''),
+        self.assertEqual(True, msgeditor._run_editor(''),
                          'Unable to run dummy fake editor')
 
     def make_fake_editor(self, message='test message from fed\\n'):
@@ -127,20 +160,23 @@
 
         mutter('edit_commit_message without infotext')
         self.assertEqual('test message from fed\n',
-                         bzrlib.msgeditor.edit_commit_message(''))
+                         msgeditor.edit_commit_message(''))
 
         mutter('edit_commit_message with unicode infotext')
         self.assertEqual('test message from fed\n',
-                         bzrlib.msgeditor.edit_commit_message(u'\u1234'))
+                         msgeditor.edit_commit_message(u'\u1234'))
+
+        tmpl = edit_commit_message_encoded(u'\u1234'.encode("utf8"))
+        self.assertEqual('test message from fed\n', tmpl)
 
     def test_start_message(self):
         self.make_uncommitted_tree()
         self.make_fake_editor()
         self.assertEqual('test message from fed\nstart message\n',
-                         bzrlib.msgeditor.edit_commit_message('',
+                         msgeditor.edit_commit_message('',
                                               start_message='start message\n'))
         self.assertEqual('test message from fed\n',
-                         bzrlib.msgeditor.edit_commit_message('',
+                         msgeditor.edit_commit_message('',
                                               start_message=''))
 
     def test_deleted_commit_message(self):
@@ -151,7 +187,7 @@
         else:
             os.environ['BZR_EDITOR'] = 'rm'
 
-        self.assertRaises((IOError, OSError), bzrlib.msgeditor.edit_commit_message, '')
+        self.assertRaises((IOError, OSError), msgeditor.edit_commit_message, '')
 
     def test__get_editor(self):
         # Test that _get_editor can return a decent list of items
@@ -168,7 +204,7 @@
             f.write('editor = config_editor\n')
             f.close()
 
-            editors = list(bzrlib.msgeditor._get_editor())
+            editors = list(msgeditor._get_editor())
 
             self.assertEqual(['bzr_editor', 'config_editor', 'visual',
                               'editor'], editors[:4])
@@ -197,7 +233,7 @@
     def test__create_temp_file_with_commit_template(self):
         # check that commit template written properly
         # and has platform native line-endings (CRLF on win32)
-        create_file = bzrlib.msgeditor._create_temp_file_with_commit_template
+        create_file = msgeditor._create_temp_file_with_commit_template
         msgfilename, hasinfo = create_file('infotext','----','start message')
         self.assertNotEqual(None, msgfilename)
         self.assertTrue(hasinfo)
@@ -211,7 +247,7 @@
 
     def test__create_temp_file_with_empty_commit_template(self):
         # empty file
-        create_file = bzrlib.msgeditor._create_temp_file_with_commit_template
+        create_file = msgeditor._create_temp_file_with_commit_template
         msgfilename, hasinfo = create_file('')
         self.assertNotEqual(None, msgfilename)
         self.assertFalse(hasinfo)
@@ -224,6 +260,6 @@
 
             working_tree = self.make_uncommitted_tree()
             self.assertRaises(errors.BadCommitMessageEncoding,
-                                    bzrlib.msgeditor.edit_commit_message, '')
+                              msgeditor.edit_commit_message, '')
         finally:
             osutils.set_or_unset_env('LANG', old_env)

=== modified file 'doc/en/user-guide/tutorial.txt'
--- a/doc/en/user-guide/tutorial.txt	2007-08-20 23:43:41 +0000
+++ b/doc/en/user-guide/tutorial.txt	2007-08-24 16:49:00 +0000
@@ -317,6 +317,20 @@
 override either of the above mentioned editor options.  If you quit the
 editor without making any changes, the commit will be cancelled.
 
+The file that is opened in the editor contains a horizontal line. The part
+of the file below this line is included for information only, and will not
+form part of the commit message. Below the separator is shown the list of
+files that are changed in the commit. You should write your message above
+the line, and then save the file and exit.
+
+If you would like to see the diff that will be committed as you edit the
+message you can use the ``--show-diff`` option to ``commit``. This will include
+the diff in the editor when it is opened, below the separator and the
+information about the files that will be committed. This means that you can
+read it as you write the message, but the diff itself wont be seen in the
+commit message when you have finished. If you would like parts to be
+included in the message you can copy and paste them above the separator.
+
 Selective commit
 ----------------
 




More information about the bazaar-commits mailing list