Rev 3467: merge bzr.dev in http://bzr.arbash-meinel.com/branches/bzr/1.6-dev/status_double_pending_235407
John Arbash Meinel
john at arbash-meinel.com
Wed Jun 4 18:55:06 BST 2008
At http://bzr.arbash-meinel.com/branches/bzr/1.6-dev/status_double_pending_235407
------------------------------------------------------------
revno: 3467
revision-id: john at arbash-meinel.com-20080604175452-l0iwbtdlkdrbpnjc
parent: john at arbash-meinel.com-20080604175258-ez2d1z1vpnucpjwy
parent: pqm at pqm.ubuntu.com-20080604174215-d0m8mjs939ek9ed7
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: status_double_pending_235407
timestamp: Wed 2008-06-04 12:54:52 -0500
message:
merge bzr.dev
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/lockdir.py lockdir.py-20060220222025-98258adf27fbdda3
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_lockdir.py test_lockdir.py-20060220222025-33d4221569a3d600
bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
------------------------------------------------------------
revno: 3462.1.8
revision-id: pqm at pqm.ubuntu.com-20080604174215-d0m8mjs939ek9ed7
parent: pqm at pqm.ubuntu.com-20080604075316-2zq1pdapom9r80zr
parent: jelmer at samba.org-20080604153249-0o340pscw459x3sq
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2008-06-04 18:42:15 +0100
message:
(Jelmer) Move update_revisions() implementation from BzrBranch to
Branch.
modified:
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
------------------------------------------------------------
revno: 3462.5.1
revision-id: jelmer at samba.org-20080604153249-0o340pscw459x3sq
parent: pqm at pqm.ubuntu.com-20080602222734-9ojr7ubruggqcjau
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: bzr.dev
timestamp: Wed 2008-06-04 17:32:49 +0200
message:
Move implementation of update_revisions() from BzrBranch to Branch as it only uses publib functions.
modified:
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
------------------------------------------------------------
revno: 3462.1.7
revision-id: pqm at pqm.ubuntu.com-20080604075316-2zq1pdapom9r80zr
parent: pqm at pqm.ubuntu.com-20080603072242-omtkkk586pc5k4d4
parent: mbp at sourcefrog.net-20080604072935-fan2dyggvc1hhkgt
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2008-06-04 08:53:16 +0100
message:
(mbp) Update more users of default file modes from control_files to bzrdir
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
------------------------------------------------------------
revno: 3462.4.1
revision-id: mbp at sourcefrog.net-20080604072935-fan2dyggvc1hhkgt
parent: pqm at pqm.ubuntu.com-20080603072242-omtkkk586pc5k4d4
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: filemodes
timestamp: Wed 2008-06-04 17:29:35 +1000
message:
Update more users of default file modes from control_files to bzrdir
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
------------------------------------------------------------
revno: 3462.1.6
revision-id: pqm at pqm.ubuntu.com-20080603072242-omtkkk586pc5k4d4
parent: pqm at pqm.ubuntu.com-20080603024259-ml79gk3n5uywnxe0
parent: mbp at sourcefrog.net-20080603065634-2yczyrm9jgmzh2hr
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2008-06-03 08:22:42 +0100
message:
(mbp) merge 1.6b1 back to trunk
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3462.3.2
revision-id: mbp at sourcefrog.net-20080603065634-2yczyrm9jgmzh2hr
parent: mbp at sourcefrog.net-20080603065559-6memzjge3lyy27o3
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: integration
timestamp: Tue 2008-06-03 16:56:34 +1000
message:
Correction to news summary
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3462.3.1
revision-id: mbp at sourcefrog.net-20080603065559-6memzjge3lyy27o3
parent: pqm at pqm.ubuntu.com-20080601233619-di6or8d3o26n917q
parent: mbp at sourcefrog.net-20080602075120-tr2t0bl5a9mz2owg
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: integration
timestamp: Tue 2008-06-03 16:55:59 +1000
message:
Merge back 1.6beta1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3462.2.1
revision-id: mbp at sourcefrog.net-20080602075120-tr2t0bl5a9mz2owg
parent: pqm at pqm.ubuntu.com-20080601233619-di6or8d3o26n917q
committer: Martin Pool <mbp at sourcefrog.net>
branch nick: prepare-1.6beta1
timestamp: Mon 2008-06-02 17:51:20 +1000
message:
Preparing 1.6beta1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
------------------------------------------------------------
revno: 3462.1.5
revision-id: pqm at pqm.ubuntu.com-20080603024259-ml79gk3n5uywnxe0
parent: pqm at pqm.ubuntu.com-20080602225022-z6zutdo9hvu0fycm
parent: andrew.bennetts at canonical.com-20080603021334-z8pv02xea1xpmq2r
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2008-06-03 03:42:59 +0100
message:
(Martin Albisetti) Better message when a repository is locked.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/lockdir.py lockdir.py-20060220222025-98258adf27fbdda3
bzrlib/tests/test_lockdir.py test_lockdir.py-20060220222025-33d4221569a3d600
------------------------------------------------------------
revno: 3441.4.4
revision-id: andrew.bennetts at canonical.com-20080603021334-z8pv02xea1xpmq2r
parent: andrew.bennetts at canonical.com-20080603020925-g947drfzo9ij1y6p
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: bzr.break_lock
timestamp: Tue 2008-06-03 12:13:34 +1000
message:
Add NEWS entry.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3441.4.3
revision-id: andrew.bennetts at canonical.com-20080603020925-g947drfzo9ij1y6p
parent: argentina at gmail.com-20080521021343-zpjiqmc8h162ztcf
parent: pqm at pqm.ubuntu.com-20080602225022-z6zutdo9hvu0fycm
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: bzr.break_lock
timestamp: Tue 2008-06-03 12:09:25 +1000
message:
Merge from bzr.dev.
added:
bzrlib/tests/file_utils.py file_utils.py-20080506145406-a1h3ydg2lsh2iriy-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
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/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/smart/branch.py branch.py-20061124031907-mzh3pla28r83r97f-1
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
bzrlib/tests/blackbox/test_ls.py test_ls.py-20060712232047-0jraqpecwngee12y-1
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_permissions.py test_permissions.py-20060210110243-245c01403bf0fde6
bzrlib/tests/branch_implementations/test_push.py test_push.py-20070130153159-fhfap8uoifevg30j-1
bzrlib/tests/branch_implementations/test_update.py test_update.py-20060305010612-e68efbcbb1baa69f
bzrlib/tests/repository_implementations/test_has_same_location.py test_has_same_locati-20070807074648-2i2ah82fbe83iys7-1
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
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_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_osutils_encodings.py test_osutils_encodin-20061226013130-kkp732tpt3lm91vv-1
bzrlib/tests/test_permissions.py test_permissions.py-20051215004520-ccf475789c80e80c
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_revisionspec.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_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
bzrlib/tests/test_symbol_versioning.py test_symbol_versioning.py-20060105104851-51d7722c2018d42b
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
bzrlib/tests/workingtree_implementations/test_basis_inventory.py test_basis_inventory.py-20051218151655-3650468941091309
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/fakenfs.py fakenfs.py-20060402223312-0e29c7275aa384dd
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
bzrlib/uncommit.py uncommit.py-20050626215513-5ec509fa425b305c
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/developers/index.txt index.txt-20070508041241-qznziunkg0nffhiw-1
doc/developers/releasing.txt releasing.txt-20080502015919-fnrcav8fwy8ccibu-1
doc/developers/tortoise-strategy.txt tortoisestrategy.txt-20080403024510-2ahdqrvnwqrb5p5t-1
doc/en/user-guide/branching_a_project.txt branching_a_project.-20071122141511-0knao2lklsdsvb1q-2
doc/en/user-guide/partner_intro.txt partner_workflow.txt-20071122141511-0knao2lklsdsvb1q-4
doc/en/user-guide/releasing_a_project.txt releasing_a_project.-20071121073725-0corxykv5irjal00-5
doc/en/user-guide/svn_plugin.txt svn_plugin.txt-20080509065016-cjc90f46407vi9a0-2
doc/en/user-guide/undoing_mistakes.txt undoing_mistakes.txt-20071121092300-8fyacngt1w98e5mp-1
------------------------------------------------------------
revno: 3441.4.2
revision-id: argentina at gmail.com-20080521021343-zpjiqmc8h162ztcf
parent: argentina at gmail.com-20080521013852-yv6uocjzxkorol98
committer: Martin Albisetti <argentina at gmail.com>
branch nick: bzr.break_lock
timestamp: Tue 2008-05-20 23:13:43 -0300
message:
Fixed failing tests
modified:
bzrlib/tests/test_lockdir.py test_lockdir.py-20060220222025-33d4221569a3d600
------------------------------------------------------------
revno: 3441.4.1
revision-id: argentina at gmail.com-20080521013852-yv6uocjzxkorol98
parent: pqm at pqm.ubuntu.com-20080520210027-wetfxldz1ggc5u2a
committer: Martin Albisetti <argentina at gmail.com>
branch nick: bzr.break_lock
timestamp: Tue 2008-05-20 22:38:52 -0300
message:
Change locked error to help the user resolve the situation
modified:
bzrlib/lockdir.py lockdir.py-20060220222025-98258adf27fbdda3
------------------------------------------------------------
revno: 3462.1.4
revision-id: pqm at pqm.ubuntu.com-20080602225022-z6zutdo9hvu0fycm
parent: pqm at pqm.ubuntu.com-20080602222734-9ojr7ubruggqcjau
parent: john at arbash-meinel.com-20080522224412-2dppq2rn7vpvbz4a
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-06-02 23:50:22 +0100
message:
(jam) Give Aaron the benefit of bug #202928
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3449.3.1
revision-id: john at arbash-meinel.com-20080522224412-2dppq2rn7vpvbz4a
parent: pqm at pqm.ubuntu.com-20080522125310-lneifpa40hzg4lu2
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: jam-integration
timestamp: Thu 2008-05-22 17:44:12 -0500
message:
minor NEWS tweaks, including rewarding Aaron with bug #202928
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3462.1.3
revision-id: pqm at pqm.ubuntu.com-20080602222734-9ojr7ubruggqcjau
parent: pqm at pqm.ubuntu.com-20080601233619-di6or8d3o26n917q
parent: john at arbash-meinel.com-20080528223048-dbrnob3nzv7wdp02
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-06-02 23:27:34 +0100
message:
(jam) Deprecate branch.missing_revisions()
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
------------------------------------------------------------
revno: 3445.2.3
revision-id: john at arbash-meinel.com-20080528223048-dbrnob3nzv7wdp02
parent: john at arbash-meinel.com-20080521154556-2d5q6xqlailg6d1j
parent: pqm at pqm.ubuntu.com-20080527013230-8qjaju10duxpy3e2
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: missing
timestamp: Wed 2008-05-28 17:30:48 -0500
message:
merge bzr.dev
added:
bzrlib/tests/file_utils.py file_utils.py-20080506145406-a1h3ydg2lsh2iriy-1
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/osutils.py osutils.py-20050309040759-eeaff12fbf77ac86
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-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/smart/branch.py branch.py-20061124031907-mzh3pla28r83r97f-1
bzrlib/smart/protocol.py protocol.py-20061108035435-ot0lstk2590yqhzr-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_push.py test_push.py-20070130153159-fhfap8uoifevg30j-1
bzrlib/tests/repository_implementations/test_has_same_location.py test_has_same_locati-20070807074648-2i2ah82fbe83iys7-1
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
bzrlib/tests/test_merge_core.py test_merge_core.py-20050824132511-eb99b23a0eec641b
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_osutils_encodings.py test_osutils_encodin-20061226013130-kkp732tpt3lm91vv-1
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
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_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_workingtree.py testworkingtree.py-20051004024258-b88d0fe8f101d468
bzrlib/tests/workingtree_implementations/test_basis_inventory.py test_basis_inventory.py-20051218151655-3650468941091309
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/fakenfs.py fakenfs.py-20060402223312-0e29c7275aa384dd
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
doc/developers/tortoise-strategy.txt tortoisestrategy.txt-20080403024510-2ahdqrvnwqrb5p5t-1
------------------------------------------------------------
revno: 3445.2.2
revision-id: john at arbash-meinel.com-20080521154556-2d5q6xqlailg6d1j
parent: john at arbash-meinel.com-20080521154247-sqpkv9um9grku9e1
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: missing
timestamp: Wed 2008-05-21 10:45:56 -0500
message:
Move the test to a branch_implementations test
modified:
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
------------------------------------------------------------
revno: 3445.2.1
revision-id: john at arbash-meinel.com-20080521154247-sqpkv9um9grku9e1
parent: pqm at pqm.ubuntu.com-20080521104134-beoquporep2cpghs
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: missing
timestamp: Wed 2008-05-21 10:42:47 -0500
message:
Add tests for Branch.missing_revisions and deprecate it.
The api uses a 'stop_revision' but it is supposed to be a revno, not a
revision_id. The code itself is very crufty and slow (and doesn't take
a read_lock). But rather than fix it, just nuke the function.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_switch.py test_switch.py-20071116011000-v5lnw7d2wkng9eux-2
------------------------------------------------------------
revno: 3462.1.2
revision-id: pqm at pqm.ubuntu.com-20080601233619-di6or8d3o26n917q
parent: pqm at pqm.ubuntu.com-20080530221339-0l4zj40k4dknzaqw
parent: andrew.bennetts at canonical.com-20080601230822-mzdjbbwol57spk5x
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2008-06-02 00:36:19 +0100
message:
Fix HPSS protocol version detection so that it doesn't unnecessarily
disconnect when the server correctly responds with an error code.
modified:
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 3461.2.2
revision-id: andrew.bennetts at canonical.com-20080601230822-mzdjbbwol57spk5x
parent: andrew.bennetts at canonical.com-20080530043339-gvr9z2o13cldsos6
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: smart-protocol-detection-fix
timestamp: Mon 2008-06-02 09:08:22 +1000
message:
Tweak suggested by John.
modified:
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
------------------------------------------------------------
revno: 3461.2.1
revision-id: andrew.bennetts at canonical.com-20080530043339-gvr9z2o13cldsos6
parent: pqm at pqm.ubuntu.com-20080530010236-e3x7ckdc25s57pgc
committer: Andrew Bennetts <andrew.bennetts at canonical.com>
branch nick: smart-protocol-detection-fix
timestamp: Fri 2008-05-30 14:33:39 +1000
message:
Avoid unnecessary reconnections to old servers when the first HPSS is an error in the right protocol version.
modified:
bzrlib/smart/client.py client.py-20061116014825-2k6ada6xgulslami-1
bzrlib/smart/message.py message.py-20080222013625-ncqmh3nrxjkxab87-1
bzrlib/tests/test_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
------------------------------------------------------------
revno: 3462.1.1
revision-id: pqm at pqm.ubuntu.com-20080530221339-0l4zj40k4dknzaqw
parent: pqm at pqm.ubuntu.com-20080530080302-j1jh2bwxmpd0jn2q
parent: john at arbash-meinel.com-20080530214430-nbo0wxzbid6z22ml
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2008-05-30 23:13:39 +0100
message:
(jam) Change RevisionSpec_revno so that it no longer needs
Branch.revision_history()
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
------------------------------------------------------------
revno: 3460.1.4
revision-id: john at arbash-meinel.com-20080530214430-nbo0wxzbid6z22ml
parent: john at arbash-meinel.com-20080530134519-mpgetc0aho9c60z5
parent: pqm at pqm.ubuntu.com-20080530080302-j1jh2bwxmpd0jn2q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: revno_no_history
timestamp: Fri 2008-05-30 16:44:30 -0500
message:
merge bzr.dev, resolve NEWS
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/uncommit.py uncommit.py-20050626215513-5ec509fa425b305c
doc/en/user-guide/branching_a_project.txt branching_a_project.-20071122141511-0knao2lklsdsvb1q-2
------------------------------------------------------------
revno: 3460.1.3
revision-id: john at arbash-meinel.com-20080530134519-mpgetc0aho9c60z5
parent: john at arbash-meinel.com-20080530010318-z02yqa2mz048jwb4
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: revno_no_history
timestamp: Fri 2008-05-30 08:45:19 -0500
message:
NEWS
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3460.1.2
revision-id: john at arbash-meinel.com-20080530010318-z02yqa2mz048jwb4
parent: john at arbash-meinel.com-20080530004224-1zq421goscvxm6o1
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: revno_no_history
timestamp: Thu 2008-05-29 20:03:18 -0500
message:
Add a test for wants_revision_history
modified:
bzrlib/tests/test_revisionspec.py testrevisionnamespaces.py-20050711050225-8b4af89e6b1efe84
------------------------------------------------------------
revno: 3460.1.1
revision-id: john at arbash-meinel.com-20080530004224-1zq421goscvxm6o1
parent: pqm at pqm.ubuntu.com-20080529210000-bycgfufmrqq63tki
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: revno_no_history
timestamp: Thu 2008-05-29 19:42:24 -0500
message:
Change the RevisionSpec_revno so that it doesn't need to grab the revision_history first.
modified:
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS 2008-06-02 16:09:09 +0000
+++ b/NEWS 2008-06-04 17:54:52 +0000
@@ -4,25 +4,21 @@
.. contents::
-IN DEVELOPMENT
---------------
-
-This release adds a translation of some of the user documentation into Spanish.
-(Contributions of other translations would be very welcome.)
+
+bzr 1.6beta1 2008-06-02
+-----------------------
+
+
+Commands that work on the revision history such as push, pull, missing,
+uncommit and log are now substantially faster. This release adds a
+translation of some of the user documentation into Spanish. (Contributions of
+other translations would be very welcome.) Bazaar 1.6beta1 adds a new network
+protocol which is used by default and which allows for more efficient transfers
+and future extensions.
+
NOTES WHEN UPGRADING:
- CHANGES:
-
- * Deprecation warnings will not be suppressed when running ``bzr selftest``
- so that developers can see if their code is using deprecated functions.
- (John Arbash Meinel)
-
- FEATURES:
-
- * Adding ``-Derror`` will now display a traceback when a plugin fails to
- load. (James Westby)
-
* There is a new version of the network protocol used for bzr://, bzr+ssh://
and bzr+http:// connections. This will allow more efficient requests and
responses, and more graceful fallback when a server is too old to
@@ -32,6 +28,17 @@
these protocols. Use alternatives like SFTP or upgrade those servers.
(Andrew Bennetts, #83935)
+ CHANGES:
+
+ * Deprecation warnings will not be suppressed when running ``bzr selftest``
+ so that developers can see if their code is using deprecated functions.
+ (John Arbash Meinel)
+
+ FEATURES:
+
+ * Adding ``-Derror`` will now display a traceback when a plugin fails to
+ load. (James Westby)
+
IMPROVEMENTS:
* ``bzr branch/push/pull -r XXX`` now have a helper function for finding
@@ -39,6 +46,10 @@
should make something like ``bzr branch -r -100`` in a shared, no-trees
repository much snappier. (John Arbash Meinel)
+ * ``bzr log --short -r X..Y`` no longer needs to access the full revision
+ history. This makes it noticeably faster when logging the last few
+ revisions. (John Arbash Meinel)
+
* ``bzr ls`` now accepts ``-V`` as an alias for ``--versioned``.
(Jerad Cramp, #165086)
@@ -99,6 +110,9 @@
them.
(Vincent Ladeuil, #229076)
+ * The "Unable to obtain lock" error message now also suggests using
+ ``bzr break-lock`` to fix it. (Martin Albisetti, #139202)
+
* Treat an encoding of '' as ascii; this can happen when bzr is run
under vim on Mac OS X.
(Neil Martinsen-Burrell)
@@ -125,6 +139,11 @@
INTERNALS:
+ * ``Branch.missing_revisions`` has been deprecated. Similar functionality
+ can be obtained using ``bzrlib.missing.find_unmerged``. The api was
+ fairly broken, and the function was unused, so we are getting rid of it.
+ (John Arbash Meinel)
+
API CHANGES:
* ``Branch.abspath`` is deprecated; use the Tree or Transport
@@ -156,6 +175,11 @@
``bzrlib.revision`` deprecated before bzrlib 1.5 have been removed.
(Robert Collins)
+ * ``RevisionSpec.wants_revision_history`` can be set to False for a given
+ ``RevisionSpec``. This will disable the existing behavior of passing in
+ the full revision history to ``self._match_on``. Useful for specs that
+ don't actually need access to the full history. (John Arbash Meinel)
+
* The constructors of ``SmartClientMedium`` and its subclasses now require a
``base`` parameter. ``SmartClientMedium`` implementations now also need
to provide a ``remote_path_from_transport`` method. (Andrew Bennetts)
@@ -220,7 +244,7 @@
IMPROVEMENTS:
* Diff now handles revision specs like "branch:" and "submit:" more
- efficiently. (Aaron Bentley)
+ efficiently. (Aaron Bentley, #202928)
* More friendly error given when attempt to start the smart server
on an address already in use. (Andrea Corbellini, #200575)
@@ -352,7 +376,7 @@
* The Python ``assert`` statement is no longer used in Bazaar source, and
a test checks this. (Martin Pool)
- API BREAKS:
+ API CHANGES:
* ``bzrlib.status.show_pending_merges`` requires the repository to be
locked by the caller. Callers should have been doing it anyway, but it
@@ -6183,3 +6207,6 @@
* Storage of local versions: init, add, remove, rm, info, log,
diff, status, etc.
+
+..
+ vim: tw=74 ft=rst ff=unix
=== modified file 'bzrlib/__init__.py'
--- a/bzrlib/__init__.py 2008-05-16 21:00:25 +0000
+++ b/bzrlib/__init__.py 2008-06-03 06:55:59 +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, 6, 0, 'dev', 0)
+version_info = (1, 6, 0, 'beta', 2)
# API compatibility version: bzrlib is currently API compatible with 0.18.
=== modified file 'bzrlib/branch.py'
--- a/bzrlib/branch.py 2008-05-29 20:17:37 +0000
+++ b/bzrlib/branch.py 2008-06-04 17:42:15 +0000
@@ -425,6 +425,7 @@
else:
return (0, _mod_revision.NULL_REVISION)
+ @deprecated_method(deprecated_in((1, 6, 0)))
def missing_revisions(self, other, stop_revision=None):
"""Return a list of new revisions that would perfectly fit.
@@ -447,6 +448,7 @@
raise errors.NoSuchRevision(self, stop_revision)
return other_history[self_len:stop_revision]
+ @needs_write_lock
def update_revisions(self, other, stop_revision=None, overwrite=False,
graph=None):
"""Pull in new perfect-fit revisions.
@@ -459,7 +461,51 @@
information. This can be None.
:return: None
"""
- raise NotImplementedError(self.update_revisions)
+ other.lock_read()
+ try:
+ other_revno, other_last_revision = other.last_revision_info()
+ stop_revno = None # unknown
+ if stop_revision is None:
+ stop_revision = other_last_revision
+ if _mod_revision.is_null(stop_revision):
+ # if there are no commits, we're done.
+ return
+ stop_revno = other_revno
+
+ # what's the current last revision, before we fetch [and change it
+ # possibly]
+ last_rev = _mod_revision.ensure_null(self.last_revision())
+ # we fetch here so that we don't process data twice in the common
+ # case of having something to pull, and so that the check for
+ # already merged can operate on the just fetched graph, which will
+ # be cached in memory.
+ self.fetch(other, stop_revision)
+ # Check to see if one is an ancestor of the other
+ if not overwrite:
+ if graph is None:
+ graph = self.repository.get_graph()
+ heads = graph.heads([stop_revision, last_rev])
+ if heads == set([last_rev]):
+ # The current revision is a decendent of the target,
+ # nothing to do
+ return
+ elif heads == set([stop_revision, last_rev]):
+ # These branches have diverged
+ raise errors.DivergedBranches(self, other)
+ elif heads != set([stop_revision]):
+ raise AssertionError("invalid heads: %r" % heads)
+ if stop_revno is None:
+ if graph is None:
+ graph = self.repository.get_graph()
+ this_revno, this_last_revision = self.last_revision_info()
+ stop_revno = graph.find_distance_to_null(stop_revision,
+ [(other_last_revision, other_revno),
+ (this_last_revision, this_revno)])
+ self.set_last_revision_info(stop_revno, stop_revision)
+ finally:
+ other.unlock()
+
+
def revision_id_to_revno(self, revision_id):
"""Given a revision id, return its revno"""
@@ -918,7 +964,7 @@
for (filename, content) in utf8_files:
branch_transport.put_bytes(
filename, content,
- mode=control_files._file_mode)
+ mode=a_bzrdir._get_file_mode())
finally:
control_files.unlock()
return self.open(a_bzrdir, _found=True)
@@ -1412,7 +1458,7 @@
It is intended to be called by BzrBranch5.set_revision_history."""
self._transport.put_bytes(
'revision-history', '\n'.join(history),
- mode=self.control_files._file_mode)
+ mode=self.bzrdir._get_file_mode())
@needs_write_lock
def set_revision_history(self, rev_history):
@@ -1505,54 +1551,6 @@
self.set_revision_history(self._lefthand_history(revision_id,
last_rev, other_branch))
- @needs_write_lock
- def update_revisions(self, other, stop_revision=None, overwrite=False,
- graph=None):
- """See Branch.update_revisions."""
- other.lock_read()
- try:
- other_revno, other_last_revision = other.last_revision_info()
- stop_revno = None # unknown
- if stop_revision is None:
- stop_revision = other_last_revision
- if _mod_revision.is_null(stop_revision):
- # if there are no commits, we're done.
- return
- stop_revno = other_revno
-
- # what's the current last revision, before we fetch [and change it
- # possibly]
- last_rev = _mod_revision.ensure_null(self.last_revision())
- # we fetch here so that we don't process data twice in the common
- # case of having something to pull, and so that the check for
- # already merged can operate on the just fetched graph, which will
- # be cached in memory.
- self.fetch(other, stop_revision)
- # Check to see if one is an ancestor of the other
- if not overwrite:
- if graph is None:
- graph = self.repository.get_graph()
- heads = graph.heads([stop_revision, last_rev])
- if heads == set([last_rev]):
- # The current revision is a decendent of the target,
- # nothing to do
- return
- elif heads == set([stop_revision, last_rev]):
- # These branches have diverged
- raise errors.DivergedBranches(self, other)
- elif heads != set([stop_revision]):
- raise AssertionError("invalid heads: %r" % heads)
- if stop_revno is None:
- if graph is None:
- graph = self.repository.get_graph()
- this_revno, this_last_revision = self.last_revision_info()
- stop_revno = graph.find_distance_to_null(stop_revision,
- [(other_last_revision, other_revno),
- (this_last_revision, this_revno)])
- self.set_last_revision_info(stop_revno, stop_revision)
- finally:
- other.unlock()
-
def basis_tree(self):
"""See Branch.basis_tree."""
return self.repository.revision_tree(self.last_revision())
@@ -1734,7 +1732,7 @@
self._transport.delete('parent')
else:
self._transport.put_bytes('parent', url + '\n',
- mode=self.control_files._file_mode)
+ mode=self.bzrdir._get_file_mode())
class BzrBranch5(BzrBranch):
@@ -1913,7 +1911,7 @@
revision_id = _mod_revision.ensure_null(revision_id)
out_string = '%d %s\n' % (revno, revision_id)
self._transport.put_bytes('last-revision', out_string,
- mode=self.control_files._file_mode)
+ mode=self.bzrdir._get_file_mode())
@needs_write_lock
def set_last_revision_info(self, revno, revision_id):
@@ -2224,7 +2222,7 @@
# Copying done; now update target format
new_branch._transport.put_bytes('format',
format.get_format_string(),
- mode=new_branch.control_files._file_mode)
+ mode=new_branch.bzrdir._get_file_mode())
# Clean up old files
new_branch._transport.delete('revision-history')
=== modified file 'bzrlib/lockdir.py'
--- a/bzrlib/lockdir.py 2008-04-24 07:22:53 +0000
+++ b/bzrlib/lockdir.py 2008-05-21 01:38:52 +0000
@@ -506,15 +506,20 @@
if deadline_str is None:
deadline_str = time.strftime('%H:%M:%S',
time.localtime(deadline))
+ lock_url = self.transport.abspath(self.path)
self._report_function('%s %s\n'
'%s\n' # held by
'%s\n' # locked ... ago
- 'Will continue to try until %s\n',
+ 'Will continue to try until %s, unless '
+ 'you press Ctrl-C\n'
+ 'If you\'re sure that it\'s not being '
+ 'modified, use bzr break-lock %s',
start,
formatted_info[0],
formatted_info[1],
formatted_info[2],
- deadline_str)
+ deadline_str,
+ lock_url)
if (max_attempts is not None) and (attempt_count >= max_attempts):
self._trace("exceeded %d attempts")
=== modified file 'bzrlib/remote.py'
--- a/bzrlib/remote.py 2008-05-29 20:17:37 +0000
+++ b/bzrlib/remote.py 2008-06-04 07:29:35 +0000
@@ -1258,12 +1258,12 @@
self._lock_count = 0
self._leave_lock = False
- def _ensure_real_transport(self):
+ def _get_real_transport(self):
# if we try vfs access, return the real branch's vfs transport
self._ensure_real()
return self._real_branch._transport
- _transport = property(_ensure_real_transport)
+ _transport = property(_get_real_transport)
def __str__(self):
return "%s(%s)" % (self.__class__.__name__, self.base)
=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py 2008-05-29 12:27:24 +0000
+++ b/bzrlib/repository.py 2008-06-04 07:29:35 +0000
@@ -1975,7 +1975,7 @@
pass
else:
self._transport.put_bytes('no-working-trees', '',
- mode=self.control_files._file_mode)
+ mode=self.bzrdir._get_file_mode())
def make_working_trees(self):
"""Returns the policy for making working trees on new branches."""
=== modified file 'bzrlib/revisionspec.py'
--- a/bzrlib/revisionspec.py 2008-05-08 04:33:38 +0000
+++ b/bzrlib/revisionspec.py 2008-05-30 00:42:24 +0000
@@ -135,6 +135,7 @@
"""
prefix = None
+ wants_revision_history = True
def __new__(cls, spec, _internal=False):
if _internal:
@@ -215,7 +216,10 @@
def in_history(self, branch):
if branch:
- revs = branch.revision_history()
+ if self.wants_revision_history:
+ revs = branch.revision_history()
+ else:
+ revs = None
else:
# this should never trigger.
# TODO: make it a deprecated code path. RBC 20060928
@@ -292,6 +296,7 @@
your history is very long.
"""
prefix = 'revno:'
+ wants_revision_history = False
def _match_on(self, branch, revs):
"""Lookup a revision by revision number"""
=== modified file 'bzrlib/smart/client.py'
--- a/bzrlib/smart/client.py 2008-05-20 00:42:19 +0000
+++ b/bzrlib/smart/client.py 2008-05-30 04:33:39 +0000
@@ -76,6 +76,11 @@
% (protocol_version,))
self._medium.disconnect()
continue
+ except errors.ErrorFromSmartServer:
+ # If we received an error reply from the server, then it
+ # must be ok with this protocol version.
+ self._medium._protocol_version = protocol_version
+ raise
else:
self._medium._protocol_version = protocol_version
return response_tuple, response_handler
=== modified file 'bzrlib/smart/message.py'
--- a/bzrlib/smart/message.py 2008-05-14 07:35:27 +0000
+++ b/bzrlib/smart/message.py 2008-06-01 23:08:22 +0000
@@ -237,6 +237,11 @@
bytes = self._medium_request.read_bytes(next_read_size)
if bytes == '':
# end of file encountered reading from server
+ if 'hpss' in debug.debug_flags:
+ mutter(
+ 'decoder state: buf[:10]=%r, state_accept=%s',
+ self._protocol_decoder._in_buffer[:10],
+ self._protocol_decoder.state_accept.__name__)
raise errors.ConnectionReset(
"please check connectivity and permissions",
"(and try -Dhpss if further diagnosis is required)")
=== modified file 'bzrlib/tests/branch_implementations/test_branch.py'
--- a/bzrlib/tests/branch_implementations/test_branch.py 2008-05-12 02:48:08 +0000
+++ b/bzrlib/tests/branch_implementations/test_branch.py 2008-05-28 22:30:48 +0000
@@ -40,6 +40,7 @@
)
from bzrlib.osutils import getcwd
import bzrlib.revision
+from bzrlib.symbol_versioning import deprecated_in
from bzrlib.tests import TestCase, TestCaseWithTransport, TestSkipped
from bzrlib.tests.branch_implementations import TestCaseWithBranch
from bzrlib.tests.http_server import HttpServer
@@ -304,6 +305,36 @@
self.assertEqual(repo.get_signature_text('A'),
d2.open_repository().get_signature_text('A'))
+ def test_missing_revisions(self):
+ t1 = self.make_branch_and_tree('b1')
+ rev1 = t1.commit('one')
+ t2 = t1.bzrdir.sprout('b2').open_workingtree()
+ rev2 = t1.commit('two')
+ rev3 = t1.commit('three')
+
+ self.assertEqual([rev2, rev3],
+ self.applyDeprecated(deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch))
+
+ self.assertEqual([],
+ self.applyDeprecated(deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch, stop_revision=1))
+ self.assertEqual([rev2],
+ self.applyDeprecated(deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch, stop_revision=2))
+ self.assertEqual([rev2, rev3],
+ self.applyDeprecated(deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch, stop_revision=3))
+
+ self.assertRaises(errors.NoSuchRevision,
+ self.applyDeprecated, deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch, stop_revision=4)
+
+ rev4 = t2.commit('four')
+ self.assertRaises(errors.DivergedBranches,
+ self.applyDeprecated, deprecated_in((1, 6, 0)),
+ t2.branch.missing_revisions, t1.branch)
+
def test_nicks(self):
"""Test explicit and implicit branch nicknames.
=== modified file 'bzrlib/tests/test_branch.py'
--- a/bzrlib/tests/test_branch.py 2008-04-09 03:09:58 +0000
+++ b/bzrlib/tests/test_branch.py 2008-05-21 15:45:56 +0000
@@ -53,6 +53,7 @@
from bzrlib.tests import TestCase, TestCaseWithTransport
from bzrlib.transport import get_transport
+
class TestDefaultFormat(TestCase):
def test_default_format(self):
@@ -294,6 +295,7 @@
self.assertEqual(warnings[0], 'Value "new" is masked by "old" from '
'locations.conf')
+
class TestBranchReference(TestCaseWithTransport):
"""Tests for the branch reference facility."""
=== modified file 'bzrlib/tests/test_lockdir.py'
--- a/bzrlib/tests/test_lockdir.py 2007-12-17 15:17:28 +0000
+++ b/bzrlib/tests/test_lockdir.py 2008-05-21 02:13:43 +0000
@@ -190,9 +190,13 @@
lf1.unlock()
lock_base = lf2.transport.abspath(lf2.path)
self.assertEqual(1, len(self._logged_reports))
+ lock_url = lf2.transport.abspath(lf2.path)
self.assertEqual('%s %s\n'
'%s\n%s\n'
- 'Will continue to try until %s\n',
+ 'Will continue to try until %s, unless '
+ 'you press Ctrl-C\n'
+ 'If you\'re sure that it\'s not being '
+ 'modified, use bzr break-lock %s',
self._logged_reports[0][0])
args = self._logged_reports[0][1]
self.assertEqual('Unable to obtain', args[0])
@@ -406,10 +410,13 @@
# There should be 2 reports, because the lock changed
lock_base = lf2.transport.abspath(lf2.path)
self.assertEqual(2, len(self._logged_reports))
-
+ lock_url = lf2.transport.abspath(lf2.path)
self.assertEqual('%s %s\n'
'%s\n%s\n'
- 'Will continue to try until %s\n',
+ 'Will continue to try until %s, unless '
+ 'you press Ctrl-C\n'
+ 'If you\'re sure that it\'s not being '
+ 'modified, use bzr break-lock %s',
self._logged_reports[0][0])
args = self._logged_reports[0][1]
self.assertEqual('Unable to obtain', args[0])
@@ -421,7 +428,10 @@
self.assertEqual('%s %s\n'
'%s\n%s\n'
- 'Will continue to try until %s\n',
+ 'Will continue to try until %s, unless '
+ 'you press Ctrl-C\n'
+ 'If you\'re sure that it\'s not being '
+ 'modified, use bzr break-lock %s',
self._logged_reports[1][0])
args = self._logged_reports[1][1]
self.assertEqual('Lock owner changed for', args[0])
=== modified file 'bzrlib/tests/test_revisionspec.py'
--- a/bzrlib/tests/test_revisionspec.py 2008-03-29 21:16:20 +0000
+++ b/bzrlib/tests/test_revisionspec.py 2008-05-30 01:03:18 +0000
@@ -90,6 +90,35 @@
spec.as_revision_id(self.tree.branch))
+class RevisionSpecMatchOnTrap(RevisionSpec):
+
+ def _match_on(self, branch, revs):
+ self.last_call = (branch, revs)
+ return super(RevisionSpecMatchOnTrap, self)._match_on(branch, revs)
+
+
+class TestRevisionSpecBase(TestRevisionSpec):
+
+ def test_wants_revision_history(self):
+ # If wants_revision_history = True, then _match_on should get the
+ # branch revision history
+ spec = RevisionSpecMatchOnTrap('foo', _internal=True)
+ spec.in_history(self.tree.branch)
+
+ self.assertEqual((self.tree.branch, ['r1' ,'r2']),
+ spec.last_call)
+
+ def test_wants_no_revision_history(self):
+ # If wants_revision_history = False, then _match_on should get None for
+ # the branch revision history
+ spec = RevisionSpecMatchOnTrap('foo', _internal=True)
+ spec.wants_revision_history = False
+ spec.in_history(self.tree.branch)
+
+ self.assertEqual((self.tree.branch, None), spec.last_call)
+
+
+
class TestOddRevisionSpec(TestRevisionSpec):
"""Test things that aren't normally thought of as revision specs"""
=== modified file 'bzrlib/tests/test_smart_transport.py'
--- a/bzrlib/tests/test_smart_transport.py 2008-05-23 07:02:37 +0000
+++ b/bzrlib/tests/test_smart_transport.py 2008-05-30 04:33:39 +0000
@@ -2590,6 +2590,7 @@
def __init__(self):
self.calls = []
+ self._medium = 'dummy medium'
def accept_bytes(self, bytes):
self.calls.append('accept_bytes')
@@ -2924,7 +2925,40 @@
errors.SmartProtocolError,
smart_client.call, 'method-name', 'arg 1', 'arg 2')
self.assertEqual([], medium._expected_events)
+
+ def test_first_response_is_error(self):
+ """If the server replies with an error, then the version detection
+ should be complete.
+ This test is very similar to test_version_two_server, but catches a bug
+ we had in the case where the first reply was an error response.
+ """
+ medium = MockMedium()
+ smart_client = client._SmartClient(medium, headers={})
+ message_start = protocol.MESSAGE_VERSION_THREE + '\x00\x00\x00\x02de'
+ # Issue a request that gets an error reply in a non-default protocol
+ # version.
+ medium.expect_request(
+ message_start +
+ 's\x00\x00\x00\x10l11:method-nameee',
+ 'bzr response 2\nfailed\n\n')
+ medium.expect_disconnect()
+ medium.expect_request(
+ 'bzr request 2\nmethod-name\n',
+ 'bzr response 2\nfailed\nFooBarError\n')
+ err = self.assertRaises(
+ errors.ErrorFromSmartServer,
+ smart_client.call, 'method-name')
+ self.assertEqual(('FooBarError',), err.error_tuple)
+ # Now the medium should have remembered the protocol version, so
+ # subsequent requests will use the remembered version immediately.
+ medium.expect_request(
+ 'bzr request 2\nmethod-name\n',
+ 'bzr response 2\nsuccess\nresponse value\n')
+ result = smart_client.call('method-name')
+ self.assertEqual(('response value',), result)
+ self.assertEqual([], medium._expected_events)
+
class Test_SmartClient(tests.TestCase):
=== modified file 'bzrlib/tests/test_switch.py'
--- a/bzrlib/tests/test_switch.py 2007-12-07 05:31:54 +0000
+++ b/bzrlib/tests/test_switch.py 2008-05-21 15:42:47 +0000
@@ -130,7 +130,5 @@
self.failIfExists('checkout/file-3')
self.failUnlessExists('checkout/file-4')
# Check that the checkout is a true mirror of the bound branch
- missing_in_checkout = checkout.branch.missing_revisions(to_branch)
- self.assertEqual([], missing_in_checkout)
- missing_in_remote = to_branch.missing_revisions(checkout.branch)
- self.assertEqual([], missing_in_remote)
+ self.assertEqual(to_branch.last_revision_info(),
+ checkout.branch.last_revision_info())
=== modified file 'bzrlib/workingtree_4.py'
--- a/bzrlib/workingtree_4.py 2008-06-02 16:09:09 +0000
+++ b/bzrlib/workingtree_4.py 2008-06-04 17:54:52 +0000
@@ -1322,7 +1322,7 @@
control_files.create_lock()
control_files.lock_write()
transport.put_bytes('format', self.get_format_string(),
- mode=control_files._file_mode)
+ mode=a_bzrdir._get_file_mode())
if from_branch is not None:
branch = from_branch
else:
@@ -2550,4 +2550,4 @@
"""Change the format marker."""
tree._transport.put_bytes('format',
self.target_format.get_format_string(),
- mode=tree._control_files._file_mode)
+ mode=tree.bzrdir._get_file_mode())
More information about the bazaar-commits
mailing list