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

Robert Collins robertc at robertcollins.net
Mon Aug 27 00:30:59 BST 2007


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

------------------------------------------------------------
revno: 2742
revision-id: robertc at robertcollins.net-20070826233047-j65jjkr08zzy6zn5
parent: robertc at robertcollins.net-20070826020611-4y80los70jgigih3
parent: pqm at pqm.ubuntu.com-20070825182243-a3w20rpadbfz8euc
committer: Robert Collins <robertc at robertcollins.net>
branch nick: repository
timestamp: Mon 2007-08-27 09:30:47 +1000
message:
  Merge bzr.dev.
added:
  doc/developers/update.txt      update.txt-20070713074325-vtxf9eb5c6keg30j-1
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
  bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
  bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.3
    revision-id: pqm at pqm.ubuntu.com-20070825182243-a3w20rpadbfz8euc
    parent: pqm at pqm.ubuntu.com-20070824133750-r25v5g25g1flggy6
    parent: jelmer at samba.org-20070825173724-64idwjskji8ms9y6
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Sat 2007-08-25 19:22:43 +0100
    message:
      Add performance analysis of update.txt
    added:
      doc/developers/update.txt      update.txt-20070713074325-vtxf9eb5c6keg30j-1
        ------------------------------------------------------------
        revno: 2592.1.24.1.3
        revision-id: jelmer at samba.org-20070825173724-64idwjskji8ms9y6
        parent: jelmer at samba.org-20070809165127-g691bl34j2wle9gn
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: doc-update
        timestamp: Sat 2007-08-25 19:37:24 +0200
        message:
          Fix typo, right complexity for applying changes to files.
        modified:
          doc/developers/update.txt      update.txt-20070713074325-vtxf9eb5c6keg30j-1
        ------------------------------------------------------------
        revno: 2592.1.24.1.2
        revision-id: jelmer at samba.org-20070809165127-g691bl34j2wle9gn
        parent: jelmer at samba.org-20070713074411-i8ujk5dkgx5sxsdq
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: doc-update
        timestamp: Thu 2007-08-09 18:51:27 +0200
        message:
          Update after review by Aaron.
        modified:
          doc/developers/update.txt      update.txt-20070713074325-vtxf9eb5c6keg30j-1
        ------------------------------------------------------------
        revno: 2592.1.24.1.1
        revision-id: jelmer at samba.org-20070713074411-i8ujk5dkgx5sxsdq
        parent: pqm at pqm.ubuntu.com-20070713060449-rydsxz28x12l2ksm
        committer: Jelmer Vernooij <jelmer at samba.org>
        branch nick: doc-update
        timestamp: Fri 2007-07-13 10:44:11 +0300
        message:
          Import performance analysis of update.
        added:
          doc/developers/update.txt      update.txt-20070713074325-vtxf9eb5c6keg30j-1
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.2
    revision-id: pqm at pqm.ubuntu.com-20070824133750-r25v5g25g1flggy6
    parent: pqm at pqm.ubuntu.com-20070824031612-53wd9sywqa4zima5
    parent: abentley at panoramicfeedback.com-20070824130226-39p2xfpmw36kzuk1
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Fri 2007-08-24 14:37:50 +0100
    message:
      Fix patch verification of CR and CRLF files and reactivate it
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
      bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
      bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
        ------------------------------------------------------------
        revno: 2520.4.151.1.1.1.4
        revision-id: abentley at panoramicfeedback.com-20070824130226-39p2xfpmw36kzuk1
        parent: abentley at panoramicfeedback.com-20070824125926-l0nvn5c5umbb4u1w
        committer: Aaron Bentley <abentley at panoramicfeedback.com>
        branch nick: bzr.mpbundle
        timestamp: Fri 2007-08-24 09:02:26 -0400
        message:
          Add NEWS entry
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 2520.4.151.1.1.1.3
        revision-id: abentley at panoramicfeedback.com-20070824125926-l0nvn5c5umbb4u1w
        parent: abentley at panoramicfeedback.com-20070815204922-sm909246487o1thf
        parent: pqm at pqm.ubuntu.com-20070824031612-53wd9sywqa4zima5
        committer: Aaron Bentley <abentley at panoramicfeedback.com>
        branch nick: bzr.mpbundle
        timestamp: Fri 2007-08-24 08:59:26 -0400
        message:
          Merge 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/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
          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/developers/revision-properties.txt revisionproperties.t-20070807133526-w57m8zv5o7t5kugm-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
          INSTALL                        INSTALL-20051019070340-4b27f2fb240c7943
          Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
          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/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
          bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
          bzrlib/check.py                check.py-20050309040759-f3a679400c06bcc1
          bzrlib/commands.py             bzr.py-20050309040720-d10f4714595cf8c3
          bzrlib/config.py               config.py-20051011043216-070c74f4e9e338e8
          bzrlib/debug.py                debug.py-20061102062349-vdhrw9qdpck8cl35-1
          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/index.py                index.py-20070712131115-lolkarso50vjr64s-1
          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/mutabletree.py          mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
          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/repofmt/weaverepo.py    presplitout.py-20070125045333-wfav3tsh73oxu3zk-1
          bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
          bzrlib/revision.py             revision.py-20050309040759-e77802c08f3999d5
          bzrlib/revisionspec.py         revisionspec.py-20050907152633-17567659fd5c0ddb
          bzrlib/revisiontree.py         revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
          bzrlib/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/revision/text.py  text.py-20060303020652-e49155f0da4d14ab
          bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
          bzrlib/tests/__init__.py       selftest.py-20050531073622-8d0e3c8845c97a64
          bzrlib/tests/blackbox/__init__.py __init__.py-20051128053524-eba30d8255e08dc3
          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_checkout.py test_checkout.py-20060211231752-a5cde67cf70af854
          bzrlib/tests/blackbox/test_commit.py test_commit.py-20060212094538-ae88fc861d969db0
          bzrlib/tests/blackbox/test_diff.py test_diff.py-20060110203741-aa99ac93e633d971
          bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
          bzrlib/tests/blackbox/test_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_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_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_config.py    testconfig.py-20051011041908-742d0c15d8d8c8eb
          bzrlib/tests/test_diff.py      testdiff.py-20050727164403-d1a3496ebb12e339
          bzrlib/tests/test_escaped_store.py test_escaped_store.py-20060216023929-6bcb9a067344959f
          bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
          bzrlib/tests/test_index.py     test_index.py-20070712131115-lolkarso50vjr64s-2
          bzrlib/tests/test_lockdir.py   test_lockdir.py-20060220222025-33d4221569a3d600
          bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
          bzrlib/tests/test_pack.py      test_container.py-20070607160755-tr8zc26q18rn0jnb-2
          bzrlib/tests/test_patches.py   test_patches.py-20051231203844-f4974d20f6aea09c
          bzrlib/tests/test_revision.py  testrevision.py-20050804210559-46f5e1eb67b01289
          bzrlib/tests/test_revisionnamespaces.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
          bzrlib/tests/test_selftest.py  test_selftest.py-20051202044319-c110a115d8c0456a
          bzrlib/tests/test_source.py    test_source.py-20051207061333-a58dea6abecc030d
          bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
          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_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
          bzrlib/tests/test_weave.py     testknit.py-20050627023648-9833cc5562ffb785
          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/tests/workingtree_implementations/test_is_ignored.py test_is_ignored.py-20060518083307-a5b383dd4d070083
          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/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/memory.py     memory.py-20051016101338-cd008dbdf69f04fc
          bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
          bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
          bzrlib/transport/ssh.py        ssh.py-20060824042150-0s9787kng6zv1nwq-1
          bzrlib/tree.py                 tree.py-20050309040759-9d5f2496be663e77
          bzrlib/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/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: 2520.4.151.1.1.1.2
        revision-id: abentley at panoramicfeedback.com-20070815204922-sm909246487o1thf
        parent: abentley at panoramicfeedback.com-20070815203258-dryf3x8sotx7q8y0
        committer: Aaron Bentley <abentley at panoramicfeedback.com>
        branch nick: bzr.mpbundle
        timestamp: Wed 2007-08-15 16:49:22 -0400
        message:
          Restore patch verification for CR, CRLF files
        modified:
          bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
          bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
        ------------------------------------------------------------
        revno: 2520.4.151.1.1.1.1
        revision-id: abentley at panoramicfeedback.com-20070815203258-dryf3x8sotx7q8y0
        parent: abentley at panoramicfeedback.com-20070815161519-aw3u3mgqelrwg0hy
        committer: Aaron Bentley <abentley at panoramicfeedback.com>
        branch nick: bzr.mpbundle
        timestamp: Wed 2007-08-15 16:32:58 -0400
        message:
          Reactivate patch verification
        modified:
          bzrlib/merge_directive.py      merge_directive.py-20070228184838-ja62280spt1g7f4x-1
          bzrlib/tests/blackbox/test_merge.py test_merge.py-20060323225809-9bc0459c19917f41
          bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
    ------------------------------------------------------------
    revno: 2592.1.25.2.7.1.28.1.6.1.3.1.9.2.1.3.74.1.1
    revision-id: pqm at pqm.ubuntu.com-20070824031612-53wd9sywqa4zima5
    parent: pqm at pqm.ubuntu.com-20070823005013-ada9x55rc31yiwou
    parent: robertc at robertcollins.net-20070824021547-ov2abtu3buhgzsuz
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: +trunk
    timestamp: Fri 2007-08-24 04:16:12 +0100
    message:
      (robertc) Add a number of -Devil checks.
    modified:
      bzrlib/index.py                index.py-20070712131115-lolkarso50vjr64s-1
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
=== added file 'doc/developers/update.txt'
--- a/doc/developers/update.txt	1970-01-01 00:00:00 +0000
+++ b/doc/developers/update.txt	2007-08-25 17:37:24 +0000
@@ -0,0 +1,69 @@
+"bzr update" performance analysis
+=================================
+
+There are 5 different slightly different situations in which bzr update 
+can be used:
+
+* local only (no-op)
+* lightweight checkout
+* heavy checkout
+* heavy checkout w/ local changes
+* bzr update could work on "bound branch" w/no wt
+
+No new revisions
+================
+Should be O(1) to determine
+Tree base is up to date
+wt.last-rev == wt.b.last-rev
+
+No local changes, only new revisions
+====================================
+1) Need to move wt.last_rev (O(1))
+2) apply delta from base to new rev (O(changes))
+applying changes to files is approx (O(lines-in-files ^ 2))
+3) update meta-info (executable bits, etc) about modified files (O(changes))
+
+2/3 could be concurrent (but that may not necessarily be faster)
+
+potential issue w/ serialized is having 50k files in limbo/
+
+the limbo/ directory could be avoided in some cases, for example when 
+adding new files in new directories.
+
+modifying in place: reduces fragmentation of fs, not atomic
+w/ local modification, potential of data loss
+w/o should be safe
+
+"local mod" is diff between disk and last commit, not merge base
+
+Detecting name conflicts should be O(siblings). Alternatively, conflicts 
+with existing files can be detected using stat() and conflicts with new files 
+can be detected by examining the pending transform. This changes 
+complexity to O(changes).
+
+out of date heavyweight checkout, out of date w/master
+=======================================================
+1) open working tree, check latest revision
+2) open working tree branch, check latest revision
+3) mismatch => update wt => wt.b.lastrev
+apply delta to tree O(changed file size)
+---- conflicts
+stop on conflicts
+stop always -> inform user they need to repeat (why not?, GFD)
+4) pull new revs M => L O(newrevs)
+5) apply delta to wt
+local committed changes become a pending merge
+local uncommitted stay uncommitted
+local pending merges are retained (should be gc'd)
+
+offtopic:
+should bzr update report where the source is ?
+should bzr update handle both cases (local tree out-of-date w/local branch, checkout out-of-date w/master) ?
+
+if updating would diverge, give opportuniuty to branch/unbind instead
+local ahead, "push to master"
+
+ideas:
+1) can this be done as a single logical step?
+2) can this be done w/o modifying working tree until end? possible performance improvements
+3) if the pulling revision step could deliver full texts, that may help for the merge (same thing as "bzr pull")

=== modified file 'NEWS'
--- a/NEWS	2007-08-23 02:18:37 +0000
+++ b/NEWS	2007-08-26 23:30:47 +0000
@@ -33,6 +33,9 @@
     * 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)
+
   IMPROVEMENTS:
 
     * ``pull`` and ``merge`` are much faster at installing bundle format 4.

=== modified file 'bzrlib/merge_directive.py'
--- a/bzrlib/merge_directive.py	2007-08-14 23:35:48 +0000
+++ b/bzrlib/merge_directive.py	2007-08-15 20:49:22 +0000
@@ -486,6 +486,7 @@
                                                self.base_revision_id)
         # Convert line-endings to UNIX
         stored_patch = re.sub('\r\n?', '\n', self.patch)
+        calculated_patch = re.sub('\r\n?', '\n', calculated_patch)
         # Strip trailing whitespace
         calculated_patch = re.sub(' *\n', '\n', calculated_patch)
         stored_patch = re.sub(' *\n', '\n', stored_patch)
@@ -504,8 +505,6 @@
             if self._verify_patch(repository):
                 return 'verified'
             else:
-                #FIXME patch verification is broken for CRLF files
-                return 'inapplicable'
                 return 'failed'
         else:
             return 'inapplicable'

=== modified file 'bzrlib/tests/blackbox/test_merge.py'
--- a/bzrlib/tests/blackbox/test_merge.py	2007-08-13 12:48:50 +0000
+++ b/bzrlib/tests/blackbox/test_merge.py	2007-08-15 20:32:58 +0000
@@ -334,9 +334,7 @@
         self.write_directive('directive', source.branch, 'target', 'rev1',
                              mangle_patch=True)
         err = self.run_bzr('merge -d target directive')[1]
-        self.expectFailure('Patch verification is disabled',
-                           self.assertContainsRe, err,
-                           'Preview patch does not match changes')
+        self.assertContainsRe(err, 'Preview patch does not match changes')
 
     def test_merge_arbitrary(self):
         target = self.make_branch_and_tree('target')

=== modified file 'bzrlib/tests/test_merge_directive.py'
--- a/bzrlib/tests/test_merge_directive.py	2007-08-13 12:48:50 +0000
+++ b/bzrlib/tests/test_merge_directive.py	2007-08-15 20:49:22 +0000
@@ -14,6 +14,7 @@
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+import re
 
 from bzrlib import (
     errors,
@@ -352,13 +353,15 @@
         tree_a = self.make_branch_and_tree('tree_a')
         tree_a.branch.get_config().set_user_option('email',
             'J. Random Hacker <jrandom at example.com>')
-        self.build_tree_contents([('tree_a/file', 'content_a\ncontent_b\n')])
-        tree_a.add('file')
+        self.build_tree_contents([('tree_a/file', 'content_a\ncontent_b\n'),
+                                  ('tree_a/file_2', 'content_x\rcontent_y\r')])
+        tree_a.add(['file', 'file_2'])
         tree_a.commit('message', rev_id='rev1')
         tree_b = tree_a.bzrdir.sprout('tree_b').open_workingtree()
         branch_c = tree_a.bzrdir.sprout('branch_c').open_branch()
         tree_b.commit('message', rev_id='rev2b')
-        self.build_tree_contents([('tree_a/file', 'content_a\ncontent_c \n')])
+        self.build_tree_contents([('tree_a/file', 'content_a\ncontent_c \n'),
+                                  ('tree_a/file_2', 'content_x\rcontent_z\r')])
         tree_a.commit('Commit of rev2a', rev_id='rev2a')
         return tree_a, tree_b, branch_c
 
@@ -528,8 +531,7 @@
             self.assertEqual('inapplicable', verified)
         else:
             self.assertEqual('rev1', base)
-            self.expectFailure('Patch verification is disabled',
-                               self.assertEqual, 'failed', verified)
+            self.assertEqual('failed', verified)
 
     def test_install_revisions_bundle(self):
         tree_a, tree_b, branch_c = self.make_trees()
@@ -628,14 +630,14 @@
         lines = md.to_lines()
         md2 = merge_directive.MergeDirective.from_lines(lines)
         md2._verify_patch(tree_a.branch.repository)
-        # Stript trailing whitespace
+        # Strip trailing whitespace
         md2.patch = md2.patch.replace(' \n', '\n')
         md2._verify_patch(tree_a.branch.repository)
         # Convert to Mac line-endings
-        md2.patch = md2.patch.replace('\n', '\r')
+        md2.patch = re.sub('(\r\n|\r|\n)', '\r', md2.patch)
         self.assertTrue(md2._verify_patch(tree_a.branch.repository))
         # Convert to DOS line-endings
-        md2.patch = md2.patch.replace('\r', '\r\n')
+        md2.patch = re.sub('(\r\n|\r|\n)', '\r\n', md2.patch)
         self.assertTrue(md2._verify_patch(tree_a.branch.repository))
         md2.patch = md2.patch.replace('content_c', 'content_d')
         self.assertFalse(md2._verify_patch(tree_a.branch.repository))



More information about the bazaar-commits mailing list