Rev 3385: Merge back 1.4 to trunk in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Mon Apr 28 06:54:58 BST 2008


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

------------------------------------------------------------
revno: 3385
revision-id:pqm at pqm.ubuntu.com-20080428055446-p0m8jwv1jzegn933
parent: pqm at pqm.ubuntu.com-20080428032913-4fgik9du2kpxl8sf
parent: mbp at sourcefrog.net-20080428035209-2sfjlaeijx20wt1z
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-04-28 06:54:46 +0100
message:
  Merge back 1.4 to trunk
modified:
  Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzr                            bzr.py-20050313053754-5485f144c7006fa6
  bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
  bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
  bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
  bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
  bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
  bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
  bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
  bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
  bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
  doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 3383.1.1
    revision-id:mbp at sourcefrog.net-20080428035209-2sfjlaeijx20wt1z
    parent: pqm at pqm.ubuntu.com-20080428012318-g5zq9wl2flua3r2s
    parent: pqm at pqm.ubuntu.com-20080421101817-kaujt28rg33ijuoy
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: integration
    timestamp: Mon 2008-04-28 13:52:09 +1000
    message:
      Merge back 1.4 and start 1.5 (but not transaction cache reinstatement)
    modified:
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzr                            bzr.py-20050313053754-5485f144c7006fa6
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
      bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 3360.2.3
    revision-id:pqm at pqm.ubuntu.com-20080421101817-kaujt28rg33ijuoy
    parent: pqm at pqm.ubuntu.com-20080421081730-ai7jv6hodn9n0x5a
    parent: mbp at sourcefrog.net-20080421071233-np3nklkrpam4s194
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: 1.4
    timestamp: Mon 2008-04-21 11:18:17 +0100
    message:
      (mbp) prepare 1.4rc2 release
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
      bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
      bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
      bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
      bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
      bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
      bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
        ------------------------------------------------------------
        revno: 3360.3.11
        revision-id:mbp at sourcefrog.net-20080421071233-np3nklkrpam4s194
        parent: mbp at sourcefrog.net-20080421065028-8syrrbt80tj6mv4g
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 17:12:33 +1000
        message:
          Prepare 1.4rc2 release
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
        ------------------------------------------------------------
        revno: 3360.3.10
        revision-id:mbp at sourcefrog.net-20080421065028-8syrrbt80tj6mv4g
        parent: mbp at sourcefrog.net-20080421064245-kim0jeqcurcfpsql
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 16:50:28 +1000
        message:
          merge fix for knit-knit performance regression
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
        ------------------------------------------------------------
        revno: 3360.3.9
        revision-id:mbp at sourcefrog.net-20080421064245-kim0jeqcurcfpsql
        parent: mbp at sourcefrog.net-20080421055156-p5d83v51cecxy8d0
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 16:42:45 +1000
        message:
          merge #205156
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
          bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
          bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
        ------------------------------------------------------------
        revno: 3360.3.8
        revision-id:mbp at sourcefrog.net-20080421055156-p5d83v51cecxy8d0
        parent: mbp at sourcefrog.net-20080421055022-21h45gfgf004x4e4
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 15:51:56 +1000
        message:
          Change assertion to a plain raise
        modified:
          bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
        ------------------------------------------------------------
        revno: 3360.3.7
        revision-id:mbp at sourcefrog.net-20080421055022-21h45gfgf004x4e4
        parent: mbp at sourcefrog.net-20080421054330-opwod8ybwkheuk95
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 15:50:22 +1000
        message:
          Merge fix for #211661, problem with log over hpss
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
          bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
        ------------------------------------------------------------
        revno: 3360.3.6
        revision-id:mbp at sourcefrog.net-20080421054330-opwod8ybwkheuk95
        parent: mbp at sourcefrog.net-20080421041949-3k7igivnwujpwcnb
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 15:43:30 +1000
        message:
          re-enable transaction cache to speed knit access (cherrypick robertc)
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
          bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
          bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
          bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
          bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
    ------------------------------------------------------------
    revno: 3360.2.2
    revision-id:pqm at pqm.ubuntu.com-20080421081730-ai7jv6hodn9n0x5a
    parent: pqm at pqm.ubuntu.com-20080421061446-ayybzxf4py1jux1p
    parent: mbp at sourcefrog.net-20080421041949-3k7igivnwujpwcnb
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: 1.4
    timestamp: Mon 2008-04-21 09:17:30 +0100
    message:
      (jam) #209948 skip ghosts when logging specified file
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
      bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
        ------------------------------------------------------------
        revno: 3360.3.5
        revision-id:mbp at sourcefrog.net-20080421041949-3k7igivnwujpwcnb
        parent: mbp at sourcefrog.net-20080411071858-9psl5lr3ko4b9bzw
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: prepare-1.4
        timestamp: Mon 2008-04-21 14:19:49 +1000
        message:
          (merge) #209948 skip ghosts when logging specified file
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/log.py                  log.py-20050505065812-c40ce11702fe5fb1
          bzrlib/tests/test_log.py       testlog.py-20050728115707-1a514809d7d49309
    ------------------------------------------------------------
    revno: 3360.2.1
    revision-id:pqm at pqm.ubuntu.com-20080421061446-ayybzxf4py1jux1p
    parent: pqm at pqm.ubuntu.com-20080411023221-tiv070pmkmf5q726
    parent: mbp at sourcefrog.net-20080411071858-9psl5lr3ko4b9bzw
    committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
    branch nick: 1.4
    timestamp: Mon 2008-04-21 07:14:46 +0100
    message:
      Prepare 1.4rc1
    modified:
      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/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
      bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
      bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
      bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/transport/ssh.py        ssh.py-20060824042150-0s9787kng6zv1nwq-1
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
    ------------------------------------------------------------
    revno: 3360.3.4
    revision-id:mbp at sourcefrog.net-20080411071858-9psl5lr3ko4b9bzw
    parent: mbp at sourcefrog.net-20080411071846-3rhfzykpyhhln6sl
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: prepare-1.4
    timestamp: Fri 2008-04-11 17:18:58 +1000
    message:
      Prepare 1.4rc1
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/__init__.py             __init__.py-20050309040759-33e65acf91bbcd5d
    ------------------------------------------------------------
    revno: 3360.3.3
    revision-id:mbp at sourcefrog.net-20080411071846-3rhfzykpyhhln6sl
    parent: mbp at sourcefrog.net-20080411055054-x96oolbsl3w0nkb8
    parent: mbp at sourcefrog.net-20080410070231-movepf7e1890j2qn
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: prepare-1.4
    timestamp: Fri 2008-04-11 17:18:46 +1000
    message:
      merge 'make dist' and 'version --short'
    modified:
      Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
      bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
      doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
        ------------------------------------------------------------
        revno: 3346.2.9
        revision-id:mbp at sourcefrog.net-20080410070231-movepf7e1890j2qn
        parent: mbp at sourcefrog.net-20080410023452-co1e7shj3k0chie5
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Thu 2008-04-10 17:02:31 +1000
        message:
          Correct short version test
        modified:
          bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
        ------------------------------------------------------------
        revno: 3346.2.8
        revision-id:mbp at sourcefrog.net-20080410023452-co1e7shj3k0chie5
        parent: mbp at sourcefrog.net-20080409043557-5btcpm5wdht0ejdi
        parent: pqm at pqm.ubuntu.com-20080409233555-n26cmi0y1hb98tf6
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Thu 2008-04-10 12:34:52 +1000
        message:
          Reconcile NEWS
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/annotate.py             annotate.py-20050922133147-7c60541d2614f022
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/errors.py               errors.py-20050309040759-20512168c4e14fbd
          bzrlib/fetch.py                fetch.py-20050818234941-26fea6105696365d
          bzrlib/inventory.py            inventory.py-20050309040759-6648b84ca2005b37
          bzrlib/knit.py                 knit.py-20051212171256-f056ac8f0fbe1bd9
          bzrlib/multiparent.py          __init__.py-20070410133617-n1jdhcc1n1mibarp-1
          bzrlib/remote.py               remote.py-20060720103555-yeeg2x51vn0rbtdp-1
          bzrlib/repofmt/knitrepo.py     knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
          bzrlib/repofmt/pack_repo.py    pack_repo.py-20070813041115-gjv5ma7ktfqwsjgn-1
          bzrlib/repofmt/weaverepo.py    presplitout.py-20070125045333-wfav3tsh73oxu3zk-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/protocol.py       protocol.py-20061108035435-ot0lstk2590yqhzr-1
          bzrlib/store/revision/knit.py  knit.py-20060303020652-de5fa299e941a3c7
          bzrlib/store/versioned/__init__.py weavestore.py-20050907094258-88262e0434babab9
          bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
          bzrlib/tests/interversionedfile_implementations/__init__.py __init__.py-20060302012326-981af525594d02ed
          bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
          bzrlib/tests/revisionstore_implementations/test_all.py test_all.py-20060303020702-9b2d4c1d75407f31
          bzrlib/tests/test_fetch.py     testfetch.py-20050825090644-f73e07e7dfb1765a
          bzrlib/tests/test_knit.py      test_knit.py-20051212171302-95d4c00dd5f11f2b
          bzrlib/tests/test_merge.py     testmerge.py-20050905070950-c1b5aa49ff911024
          bzrlib/tests/test_remote.py    test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
          bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
          bzrlib/tests/test_store.py     teststore.py-20050826022702-f6caadb647395769
          bzrlib/tests/test_subsume.py   test_subsume.py-20060927040024-tsvh4pchajoayymg-1
          bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
          bzrlib/tests/test_weave.py     testknit.py-20050627023648-9833cc5562ffb785
          bzrlib/transport/remote.py     ssh.py-20060608202016-c25gvf1ob7ypbus6-1
          bzrlib/versionedfile.py        versionedfile.py-20060222045106-5039c71ee3b65490
          bzrlib/weave.py                knit.py-20050627021749-759c29984154256b
          bzrlib/workingtree_4.py        workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
          doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
        ------------------------------------------------------------
        revno: 3346.2.7
        revision-id:mbp at sourcefrog.net-20080409043557-5btcpm5wdht0ejdi
        parent: mbp at sourcefrog.net-20080409035342-wm21vsrt7tz26g0t
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 14:35:57 +1000
        message:
          Commands should use self.outf not print
        modified:
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
        ------------------------------------------------------------
        revno: 3346.2.6
        revision-id:mbp at sourcefrog.net-20080409035342-wm21vsrt7tz26g0t
        parent: mbp at sourcefrog.net-20080409034848-sm47wz1fg12h57db
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:53:42 +1000
        message:
          NEWS updates
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 3346.2.5
        revision-id:mbp at sourcefrog.net-20080409034848-sm47wz1fg12h57db
        parent: mbp at sourcefrog.net-20080409032923-uh6hxeubehsb9zm0
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:48:48 +1000
        message:
          Add check-dist-tarball to run tests from the packaged source
        modified:
          Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
        ------------------------------------------------------------
        revno: 3346.2.4
        revision-id:mbp at sourcefrog.net-20080409032923-uh6hxeubehsb9zm0
        parent: mbp at sourcefrog.net-20080409032500-mjo6ewg4q9onsrqm
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:29:23 +1000
        message:
          Update developer documentation for new makefile dist targets
        modified:
          doc/developers/HACKING.txt     HACKING-20050805200004-2a5dc975d870f78c
        ------------------------------------------------------------
        revno: 3346.2.3
        revision-id:mbp at sourcefrog.net-20080409032500-mjo6ewg4q9onsrqm
        parent: mbp at sourcefrog.net-20080409031523-gms00duf018304og
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:25:00 +1000
        message:
          Add dist-upload-escudero target
        modified:
          Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
        ------------------------------------------------------------
        revno: 3346.2.2
        revision-id:mbp at sourcefrog.net-20080409031523-gms00duf018304og
        parent: mbp at sourcefrog.net-20080409030130-zu2daqbndi8a4uu0
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:15:23 +1000
        message:
          Add a simple 'make dist' rule
        modified:
          Makefile                       Makefile-20050805140406-d96e3498bb61c5bb
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
        ------------------------------------------------------------
        revno: 3346.2.1
        revision-id:mbp at sourcefrog.net-20080409030130-zu2daqbndi8a4uu0
        parent: pqm at pqm.ubuntu.com-20080408192311-eoozb2m0s383xt35
        committer: Martin Pool <mbp at sourcefrog.net>
        branch nick: make-dist
        timestamp: Wed 2008-04-09 13:01:30 +1000
        message:
          Add version --short option
        modified:
          NEWS                           NEWS-20050323055033-4e00b5db738777ff
          bzrlib/builtins.py             builtins.py-20050830033751-fc01482b9ca23183
          bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
    ------------------------------------------------------------
    revno: 3360.3.2
    revision-id:mbp at sourcefrog.net-20080411055054-x96oolbsl3w0nkb8
    parent: mbp at sourcefrog.net-20080411054511-7nw14wjctukkfqou
    parent: andrew.bennetts at canonical.com-20080411045144-nu3ofu2nrfyszvma
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: prepare-1.4
    timestamp: Fri 2008-04-11 15:50:54 +1000
    message:
      Add a hook for Branch.set_last_revision_info.
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/branch.py               branch.py-20050309040759-e4baf4e0d046576e
      bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
      bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
      bzrlib/tests/test_branch.py    test_branch.py-20060116013032-97819aa07b8ab3b5
    ------------------------------------------------------------
    revno: 3360.3.1
    revision-id:mbp at sourcefrog.net-20080411054511-7nw14wjctukkfqou
    parent: pqm at pqm.ubuntu.com-20080411023221-tiv070pmkmf5q726
    parent: andrew.bennetts at canonical.com-20080410091639-6hwphp6m3c0rg44t
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: prepare-1.4
    timestamp: Fri 2008-04-11 15:45:11 +1000
    message:
      merge fix for Paramiko versions newer than 1.7.2 #213425
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/transport/sftp.py       sftp.py-20051019050329-ab48ce71b7e32dfe
      bzrlib/transport/ssh.py        ssh.py-20060824042150-0s9787kng6zv1nwq-1
=== modified file 'Makefile'
--- a/Makefile	2007-12-17 01:45:32 +0000
+++ b/Makefile	2008-04-28 03:52:09 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2005, 2006, 2007 Canonical Ltd
+# Copyright (C) 2005, 2006, 2007, 2008 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -198,3 +198,48 @@
 	$(PYTHON) tools/win32/ostools.py remove bzr-setup*.exe
 	$(PYTHON) tools/win32/ostools.py remove bzr-*win32.exe
 	$(PYTHON) tools/win32/ostools.py remove dist
+
+.PHONY: dist dist-upload-escudero check-dist-tarball
+
+# build a distribution tarball.
+#
+# this method of copying the pyrex generated files is a bit ugly; it would be
+# nicer to generate it from distutils.
+#
+# these are a bit ubuntu-specific.
+dist: 
+	version=`./bzr version --short` && \
+	echo Building distribution of bzr $$version && \
+	expbasedir=`mktemp -d` && \
+	expdir=$$expbasedir/bzr-$$version && \
+	tarball=$$PWD/../bzr-$$version.tar.gz && \
+	$(MAKE) clean && \
+	$(MAKE) && \
+	bzr export $$expdir && \
+	cp bzrlib/*.c $$expdir/bzrlib/. && \
+	tar cfz $$tarball -C $$expbasedir bzr-$$version && \
+	gpg --detach-sign $$tarball && \
+	echo $$tarball done.
+
+# run all tests in a previously built tarball
+check-dist-tarball:
+	tmpdir=`mktemp -d` && \
+	version=`./bzr version --short` && \
+	tarball=$$PWD/../bzr-$$version.tar.gz && \
+	tar Cxz $$tmpdir -f $$tarball && \
+	$(MAKE) -C $$tmpdir/bzr-$$version check 
+
+
+# upload previously built tarball to the download directory on bazaar-vcs.org,
+# and verify that it can be downloaded ok.
+dist-upload-escudero:
+	version=`./bzr version --short` && \
+	tarball=../bzr-$$version.tar.gz && \
+	scp $$tarball $$tarball.sig \
+	    escudero.ubuntu.com:/srv/bazaar.canonical.com/www/releases/src \
+		&& \
+	echo verifying over http... && \
+	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz \
+		| diff -s - $$tarball && \
+	curl http://bazaar-vcs.org/releases/src/bzr-$$version.tar.gz.sig \
+		| diff -s - $$tarball.sig 

=== modified file 'NEWS'
--- a/NEWS	2008-04-28 01:27:45 +0000
+++ b/NEWS	2008-04-28 05:54:46 +0000
@@ -67,6 +67,34 @@
       (Aaron Bentley)
 
 
+bzr 1.4rc2 2008-04-21
+---------------------
+
+  BUG FIXES:
+
+    * ``bzr log -r ..X bzr://`` was failing, because it was getting a request
+      for ``revision_id=None`` which was not a string.
+      (John Arbash Meinel, #211661)
+
+    * Fixed a bug in handling ghost revisions when logging changes in a 
+      particular file.  (John Arbash Meinel, #209948)
+
+    * Fix error about "attempt to add line-delta in non-delta knit".
+      (Andrew Bennetts, #205156)
+
+    * Fixed performance degradation in fetching from knit repositories to
+      knits and packs due to parsing the entire revisions.kndx on every graph
+      walk iteration fixed by using the Repository.get_graph API.  There was
+      another regression in knit => knit fetching which re-read the index for
+      every revision each side had in common.
+      (Robert Collins, John Arbash Meinel)
+
+
+bzr 1.4rc1 2008-04-11
+---------------------
+
+
+
 bzr 1.4rc1 2008-04-11
 ---------------------
 
@@ -149,8 +177,11 @@
       one is present.  You can use the new ``nosmart+`` transport decorator
       to get the old behaviour.  (Andrew Bennetts)
 
-     * Various operations with revision specs and commands that calculate
-       revnos and revision ids are faster.  (John A. Meinel, Aaron Bentley)
+    * The ``version`` command takes a ``--short`` option to print just the
+      version number, for easier use in scripts.  (Martin Pool)
+
+    * Various operations with revision specs and commands that calculate
+      revnos and revision ids are faster.  (John A. Meinel, Aaron Bentley)
 
   BUGFIXES:
 
@@ -327,6 +358,9 @@
       had already failed, and should not be relied upon by code. 
       (Martin Pool, #109520)
 
+    * ``make dist`` target to build a release tarball, and also 
+      ``check-dist-tarball`` and ``dist-upload-escudero``.  (Martin Pool)
+
     * The ``read_response_tuple`` method of ``SmartClientRequestProtocol*``
       classes will now raise ``UnknownSmartMethod`` when appropriate, so that
       callers don't need to try distinguish unknown request errors from other

=== modified file 'bzr'
--- a/bzr	2008-04-02 01:46:35 +0000
+++ b/bzr	2008-04-28 03:52:09 +0000
@@ -22,7 +22,7 @@
 import sys
 
 # update this on each release
-_script_version = (1, 4, 0)
+_script_version = (1, 5, 0)
 
 if __doc__ is None:
     print "bzr does not support python -OO."

=== modified file 'bzrlib/__init__.py'
--- a/bzrlib/__init__.py	2008-04-02 01:46:35 +0000
+++ b/bzrlib/__init__.py	2008-04-28 03:52:09 +0000
@@ -41,7 +41,7 @@
 # Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
 # releaselevel of 'dev' for unreleased under-development code.
 
-version_info = (1, 4, 0, 'dev', 0)
+version_info = (1, 5, 0, 'dev', 0)
 
 # API compatibility version: bzrlib is currently API compatible with 0.18.
 api_minimum_version = (0, 18, 0)

=== modified file 'bzrlib/builtins.py'
--- a/bzrlib/builtins.py	2008-04-24 03:30:54 +0000
+++ b/bzrlib/builtins.py	2008-04-28 03:52:09 +0000
@@ -2719,11 +2719,17 @@
     """Show version of bzr."""
 
     encoding_type = 'replace'
+    takes_options = [
+        Option("short", help="Print just the version number."),
+        ]
 
     @display_command
-    def run(self):
+    def run(self, short=False):
         from bzrlib.version import show_version
-        show_version(to_file=self.outf)
+        if short:
+            self.outf.write(bzrlib.version_string + '\n')
+        else:
+            show_version(to_file=self.outf)
 
 
 class cmd_rocks(Command):

=== modified file 'bzrlib/knit.py'
--- a/bzrlib/knit.py	2008-04-09 23:35:55 +0000
+++ b/bzrlib/knit.py	2008-04-21 06:42:45 +0000
@@ -843,6 +843,23 @@
                             'on the source repository, and "bzr reconcile" '
                             'if necessary.' %
                             (version_id, parents[0]))
+                    if not self.delta:
+                        # We received a line-delta record for a non-delta knit.
+                        # Convert it to a fulltext.
+                        gzip_bytes = reader_callable(length)
+                        lines, sha1 = self._data._parse_record(
+                            version_id, gzip_bytes)
+                        delta = self.factory.parse_line_delta(lines,
+                                version_id)
+                        content = self.factory.make(
+                            self.get_lines(parents[0]), parents[0])
+                        content.apply_delta(delta, version_id)
+                        digest, len, content = self.add_lines(
+                            version_id, parents, content.text())
+                        if digest != sha1:
+                            raise errors.VersionedFileInvalidChecksum(version)
+                        continue
+
                 self._add_raw_records(
                     [(version_id, options, parents, length)],
                     reader_callable(length))

=== modified file 'bzrlib/log.py'
--- a/bzrlib/log.py	2008-04-18 17:54:34 +0000
+++ b/bzrlib/log.py	2008-04-28 03:52:09 +0000
@@ -464,8 +464,10 @@
     # This asks for all mainline revisions, which means we only have to spider
     # sideways, rather than depth history. That said, its still size-of-history
     # and should be addressed.
+    # mainline_revisions always includes an extra revision at the beginning, so
+    # don't request it.
     parent_map = dict(((key, value) for key, value in
-        graph.iter_ancestry(mainline_revisions) if value is not None))
+        graph.iter_ancestry(mainline_revisions[1:]) if value is not None))
     sorted_rev_list = topo_sort(parent_map.items())
     ancestry = {}
     for rev in sorted_rev_list:

=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py	2008-04-10 16:41:50 +0000
+++ b/bzrlib/remote.py	2008-04-21 05:51:56 +0000
@@ -859,7 +859,9 @@
         body = self._serialise_search_recipe(recipe)
         path = self.bzrdir._path_for_remote_call(self._client)
         for key in keys:
-            assert type(key) is str
+            if type(key) is not str:
+                raise ValueError(
+                    "key %r not a plain string" % (key,))
         verb = 'Repository.get_parent_map'
         args = (path,) + tuple(keys)
         try:

=== modified file 'bzrlib/store/revision/knit.py'
--- a/bzrlib/store/revision/knit.py	2008-04-04 00:06:58 +0000
+++ b/bzrlib/store/revision/knit.py	2008-04-21 06:42:45 +0000
@@ -113,7 +113,11 @@
 
     def get_revision_file(self, transaction):
         """Get the revision versioned file object."""
-        return self.versioned_file_store.get_weave_or_empty('revisions', transaction)
+        vf = self.versioned_file_store.get_weave_or_empty('revisions', transaction)
+        # The revisions knit should always be non-delta, so force delta=False
+        # here.
+        vf.delta = False
+        return vf
 
     def get_signature_file(self, transaction):
         """Get the signature text versioned file object."""

=== modified file 'bzrlib/tests/blackbox/test_version.py'
--- a/bzrlib/tests/blackbox/test_version.py	2008-03-20 06:29:00 +0000
+++ b/bzrlib/tests/blackbox/test_version.py	2008-04-10 07:02:31 +0000
@@ -44,6 +44,10 @@
         self.assertContainsRe(out, r"(?m)^  Bazaar configuration:")
         self.assertContainsRe(out, r'(?m)^  Bazaar log file:.*\.bzr\.log')
 
+    def test_version_short(self):
+        out = self.run_bzr(["version", "--short"])[0]
+        self.assertEqualDiff(out, bzrlib.version_string + '\n')
+
 
 class TestVersionUnicodeOutput(TestCaseInTempDir):
 

=== modified file 'bzrlib/tests/test_knit.py'
--- a/bzrlib/tests/test_knit.py	2008-04-09 23:35:55 +0000
+++ b/bzrlib/tests/test_knit.py	2008-04-21 06:42:45 +0000
@@ -1505,6 +1505,10 @@
         for plan_line, expected_line in zip(plan, AB_MERGE):
             self.assertEqual(plan_line, expected_line)
 
+
+class GetDataStreamTests(KnitTests):
+    """Tests for get_data_stream."""
+
     def test_get_stream_empty(self):
         """Get a data stream for an empty knit file."""
         k1 = self.make_test_knit()
@@ -1696,6 +1700,10 @@
             bytes = reader_callable(length)
             self.assertRecordContentEqual(k1, version_id, bytes)
 
+
+class InsertDataStreamTests(KnitTests):
+    """Tests for insert_data_stream."""
+
     def assertKnitFilesEqual(self, knit1, knit2):
         """Assert that the contents of the index and data files of two knits are
         equal.
@@ -1720,7 +1728,7 @@
             self.assertEqual(left.annotate(version),
                 right.annotate(version))
 
-    def test_insert_data_stream_empty(self):
+    def test_empty_stream(self):
         """Inserting a data stream with no records should not put any data into
         the knit.
         """
@@ -1733,7 +1741,7 @@
                          k1.transport.get_bytes(k1._index._filename),
                          "The .kndx should have nothing apart from the header.")
 
-    def test_insert_data_stream_one_record(self):
+    def test_one_record(self):
         """Inserting a data stream with one record from a knit with one record
         results in byte-identical files.
         """
@@ -1744,7 +1752,7 @@
         target.insert_data_stream(data_stream)
         self.assertKnitFilesEqual(source, target)
 
-    def test_insert_data_stream_annotated_unannotated(self):
+    def test_annotated_stream_into_unannotated_knit(self):
         """Inserting an annotated datastream to an unannotated knit works."""
         # case one - full texts.
         source = self.make_test_knit(name='source', annotate=True)
@@ -1757,7 +1765,7 @@
         target.insert_data_stream(source.get_data_stream(['text-b']))
         self.assertKnitValuesEqual(source, target)
 
-    def test_insert_data_stream_unannotated_annotated(self):
+    def test_unannotated_stream_into_annotated_knit(self):
         """Inserting an unannotated datastream to an annotated knit works."""
         # case one - full texts.
         source = self.make_test_knit(name='source', annotate=False)
@@ -1770,7 +1778,7 @@
         target.insert_data_stream(source.get_data_stream(['text-b']))
         self.assertKnitValuesEqual(source, target)
 
-    def test_insert_data_stream_records_already_present(self):
+    def test_records_already_present(self):
         """Insert a data stream where some records are alreday present in the
         target, and some not.  Only the new records are inserted.
         """
@@ -1788,7 +1796,7 @@
         # record was not added a second time.
         self.assertKnitFilesEqual(source, target)
 
-    def test_insert_data_stream_multiple_records(self):
+    def test_multiple_records(self):
         """Inserting a data stream of all records from a knit with multiple
         records results in byte-identical files.
         """
@@ -1803,7 +1811,7 @@
         
         self.assertKnitFilesEqual(source, target)
 
-    def test_insert_data_stream_ghost_parent(self):
+    def test_ghost_parent(self):
         """Insert a data stream with a record that has a ghost parent."""
         # Make a knit with a record, text-a, that has a ghost parent.
         source = self.make_test_knit(name='source')
@@ -1824,7 +1832,7 @@
             target.get_parent_map(['text-a', 'text-ghost']))
         self.assertEqual(split_lines(TEXT_1), target.get_lines('text-a'))
 
-    def test_insert_data_stream_inconsistent_version_lines(self):
+    def test_inconsistent_version_lines(self):
         """Inserting a data stream which has different content for a version_id
         than already exists in the knit will raise KnitCorrupt.
         """
@@ -1838,7 +1846,7 @@
         self.assertRaises(
             errors.KnitCorrupt, target.insert_data_stream, data_stream)
 
-    def test_insert_data_stream_inconsistent_version_parents(self):
+    def test_inconsistent_version_parents(self):
         """Inserting a data stream which has different parents for a version_id
         than already exists in the knit will raise KnitCorrupt.
         """
@@ -1853,7 +1861,7 @@
         self.assertRaises(
             errors.KnitCorrupt, target.insert_data_stream, data_stream)
 
-    def test_insert_data_stream_unknown_format(self):
+    def test_unknown_stream_format(self):
         """A data stream in a different format to the target knit cannot be
         inserted.
 
@@ -1867,7 +1875,7 @@
             errors.KnitDataStreamUnknown,
             target.insert_data_stream, data_stream)
 
-    def test_insert_data_stream_bug_208418(self):
+    def test_bug_208418(self):
         """You can insert a stream with an incompatible format, even when:
           * the stream has a line-delta record,
           * whose parent is in the target, also stored as a line-delta
@@ -1897,10 +1905,26 @@
         target.insert_data_stream(data_stream)
         # No errors should have been raised.
 
-
-    #  * test that a stream of "already present version, then new version"
-    #    inserts correctly.
-
+    def test_line_delta_record_into_non_delta_knit(self):
+        # Make a data stream with a line-delta record
+        source = self.make_test_knit(name='source', delta=True)
+        base_lines = split_lines(TEXT_1)
+        source.add_lines('version-1', [], base_lines)
+        source.add_lines('version-2', ['version-1'], base_lines + ['a\n'])
+        # The second record should be a delta.
+        self.assertEqual('line-delta', source._index.get_method('version-2'))
+        data_stream = source.get_data_stream(['version-1', 'version-2'])
+
+        # Insert the stream into a non-delta knit.
+        target = self.make_test_knit(name='target', delta=False)
+        target.insert_data_stream(data_stream)
+        
+        # Both versions are fulltexts in the target
+        self.assertEqual('fulltext', target._index.get_method('version-1'))
+        self.assertEqual('fulltext', target._index.get_method('version-2'))
+
+
+class DataStreamTests(KnitTests):
 
     def assertMadeStreamKnit(self, source_knit, versions, target_knit):
         """Assert that a knit made from a stream is as expected."""

=== modified file 'bzrlib/tests/test_store.py'
--- a/bzrlib/tests/test_store.py	2008-04-08 00:57:07 +0000
+++ b/bzrlib/tests/test_store.py	2008-04-28 03:52:09 +0000
@@ -433,4 +433,3 @@
         self._transaction = transactions.ReadOnlyTransaction()
         vf = self.vfstore.get_weave_or_empty('id', self._transaction)
         self.assertRaises(errors.ReadOnlyError, vf.add_lines, 'b', [], [])
-

=== modified file 'doc/developers/HACKING.txt'
--- a/doc/developers/HACKING.txt	2008-04-11 07:42:28 +0000
+++ b/doc/developers/HACKING.txt	2008-04-28 03:52:09 +0000
@@ -1846,37 +1846,22 @@
         if version_info[3] == 'final':
             version_string = '%d.%d.%d' % version_info[:3]
 
-#. Send the changes to PQM, to update the official master branch.
+#. Submit those changes to PQM for merge into the appropriate release
+   branch.
 
 #. When PQM succeeds, pull down the master release branch.
 
-#. Merge the release branch back into the trunk.  Check that changes in NEWS were merged into the right sections.  If it's not already done, advance the version number in bzr and bzrlib/__init__.py Submit this back into pqm for bzr.dev.
-
-#. Make a distribution directory by running e.g. ``bzr export /tmp/bzr-<version>/`` in the working directory.
-
-#. Run make in /tmp/bzr-<version>. This creates the extensions from the pyrex source.
-
-#. Run the test suite in the distribution directory
+#. Run ``make dist`` from a clean copy of the release branch; this will
+   produce a tarball and prompt you to sign it.
+
+#. Unpack the tarball into a temporary directory and run ``make check`` in
+   that directory.
 
 #. Run ``setup.py install`` --root=prefix to do a test install into your system directory, home directory, or some other prefix.  Check the install worked and that the installed version is usable. (run the bzr script from the installed path with PYTHONPATH set to the site-packages directory it created). i.e. ::
 
     python setup.py install --root=installed
     PYTHONPATH=installed/usr/lib/python2.4/site-packages installed/usr/bin/bzr
 
-#. Clean the tree to get rid of .pyc files etc: make clean && rm -rf build && rm bzrlib/_*.c bzrlib/_*.so
-
-#. Generate the reference documentation in text format: make doc/en/user-reference/bzr_man.txt.
-
-#. Change back to your original branch and then run: make clean && make to create the compiled pyrex extensions.  You then need to copy the .c files over to the exported directory. 
-   
-   ``find . -name "*.c"`` will tell you which files you need.
-
-#. Create the release tarball::
-   
-     cd /tmp && tar czf bzr-<version>.tar.gz bzr-<version>
-
-#. Sign the tarball with e.g. ``gpg --detach-sign -a bzr-0.10rc1.tar.gz``
-
 
 Publishing the release
 ----------------------
@@ -1893,7 +1878,8 @@
    (These used to also be uploaded to 
    <sftp://escudero.ubuntu.com/srv/bazaar.canonical.com/www/releases/src>
    but that's not accessible to all developers, and gets some mime types
-   wrong...)
+   wrong...  This upload can still be done with ``make
+   dist-upload-escudero``.)
 
 #. Link from http://bazaar-vcs.org/Download to the tarball and signature.
 
@@ -1966,6 +1952,16 @@
    Remember to check the results afterwards.
 
 
+Merging the released code back to trunk
+---------------------------------------
+
+Merge the release branch back into the trunk.  Check that changes in NEWS
+were merged into the right sections.  If it's not already done, advance
+the version number in ``bzr`` and ``bzrlib/__init__.py``.  Submit this
+back into pqm for bzr.dev.
+
+
+
 Making Win32 installers
 -----------------------
 




More information about the bazaar-commits mailing list