Rev 3543: (jam) Restore the real Weave merge for --format=weave. in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Wed Jul 16 19:36:38 BST 2008
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3543
revision-id:pqm at pqm.ubuntu.com-20080716183624-7yu6n1raw6sa4x80
parent: pqm at pqm.ubuntu.com-20080716075418-xbachkqt622m73v1
parent: john at arbash-meinel.com-20080716181423-9xbj5va4eakfjlqf
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Wed 2008-07-16 19:36:24 +0100
message:
(jam) Restore the real Weave merge for --format=weave.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_weave.py testknit.py-20050627023648-9833cc5562ffb785
bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
------------------------------------------------------------
revno: 3514.2.19
revision-id:john at arbash-meinel.com-20080716181423-9xbj5va4eakfjlqf
parent: john at arbash-meinel.com-20080716170138-x5sdqgzoc9meihbs
parent: pqm at pqm.ubuntu.com-20080716075418-xbachkqt622m73v1
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-16 13:14:23 -0500
message:
Merge bzr.dev 3542
added:
bzrlib/help_topics/en/patterns.txt patterns.txt-20080625070357-wx8qm46a19ejwfns-1
bzrlib/help_topics/en/rules.txt rules.txt-20080516063844-ghr5l6pvvrhiycun-1
bzrlib/push.py push.py-20080606021927-5fe39050e8xne9un-1
bzrlib/rules.py properties.py-20080506032617-9k06uqalkf09ck0z-1
bzrlib/tests/branch_implementations/test_stacking.py test_stacking.py-20080214020755-msjlkb7urobwly0f-1
bzrlib/tests/repository_implementations/test_add_fallback_repository.py test_add_fallback_re-20080215040003-8w9n4ck9uqdxj18m-1
bzrlib/tests/test_rules.py test_properties.py-20080506033501-3p9kmuob25dho8xl-1
bzrlib/tests/tree_implementations/test_iter_search_rules.py test_iter_search_rul-20080528065532-1ml1ttb12az20cxf-1
contrib/bash/bzrbashprompt.sh bzrbashprompt.sh-20080414112733-b78chl4ubylc6775-1
modified:
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/bzrdir.py bzrdir.py-20060131065624-156dfea39c4387cb
bzrlib/check.py check.py-20050309040759-f3a679400c06bcc1
bzrlib/commands.py bzr.py-20050309040720-d10f4714595cf8c3
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/globbing.py glob.py-20061113075651-q63o2v35fm2ydk9x-1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/help_topics/en/hooks.txt hooks.txt-20070830033044-xxu2rced13f72dka-1
bzrlib/ignores.py ignores.py-20060712153832-2von9l0t7p43ixsv-1
bzrlib/index.py index.py-20070712131115-lolkarso50vjr64s-1
bzrlib/info.py info.py-20050323235939-6bbfe7d9700b0b9b
bzrlib/inventory.py inventory.py-20050309040759-6648b84ca2005b37
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/mail_client.py mail_client.py-20070809192806-vuxt3t19srtpjpdn-1
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/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revisiontree.py revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
bzrlib/smart/medium.py medium.py-20061103051856-rgu2huy59fkz902q-1
bzrlib/smart/request.py request.py-20061108095550-gunadhxmzkdjfeek-1
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
bzrlib/tests/blackbox/test_check.py test_check.py-20071024054728-mn44rt3z5hnqcbke-1
bzrlib/tests/blackbox/test_info.py test_info.py-20060215045507-bbdd2d34efab9e0a
bzrlib/tests/blackbox/test_locale.py test_lang.py-20060824204205-80v50j25qkuop7yn-1
bzrlib/tests/blackbox/test_push.py test_push.py-20060329002750-929af230d5d22663
bzrlib/tests/branch_implementations/__init__.py __init__.py-20060123013057-b12a52c3f361daf4
bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
bzrlib/tests/bzrdir_implementations/test_bzrdir.py test_bzrdir.py-20060131065642-0ebeca5e30e30866
bzrlib/tests/commands/test_push.py test_push.py-20070525122003-gc1ob0ea0nueoqgj-1
bzrlib/tests/per_repository_reference/test_add_inventory.py test_add_inventory.p-20080220025549-nnm2s80it1lvcwnc-3
bzrlib/tests/repository_implementations/__init__.py __init__.py-20060131092037-9564957a7d4a841b
bzrlib/tests/repository_implementations/test_check_reconcile.py test_broken.py-20070928125406-62236394w0jpbpd6-2
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_branch.py test_branch.py-20060116013032-97819aa07b8ab3b5
bzrlib/tests/test_bzrdir.py test_bzrdir.py-20060131065654-deba40eef51cf220
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_errors.py test_errors.py-20060210110251-41aba2deddf936a8
bzrlib/tests/test_globbing.py test_glob.py-20061113075651-q63o2v35fm2ydk9x-2
bzrlib/tests/test_http_response.py test_http_response.py-20060628233143-950b2a482a32505d
bzrlib/tests/test_ignores.py test_ignores.py-20060712172354-vqq9ln0t8di27v53-1
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_repository.py test_repository.py-20060131075918-65c555b881612f4d
bzrlib/tests/test_selftest.py test_selftest.py-20051202044319-c110a115d8c0456a
bzrlib/tests/test_smart.py test_smart.py-20061122024551-ol0l0o0oofsu9b3t-2
bzrlib/tests/test_transform.py test_transaction.py-20060105172520-b3ffb3946550e6c4
bzrlib/tests/test_tsort.py testtsort.py-20051025073946-27da871c394d5be4
bzrlib/tests/test_urlutils.py test_urlutils.py-20060502192900-46b1f9579987cf9c
bzrlib/tests/test_versionedfile.py test_versionedfile.py-20060222045249-db45c9ed14a1c2e5
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
bzrlib/tests/workingtree_implementations/test_workingtree.py test_workingtree.py-20060203003124-817757d3e31444fb
bzrlib/timestamp.py timestamp.py-20070306142322-ttbb9oulf3jotljd-1
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/http/response.py _response.py-20060613154423-a2ci7hd4iw5c7fnt-1
bzrlib/transport/trace.py trace.py-20070828055009-7kt0bbc4t4b92apz-1
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/tsort.py tsort.py-20051025073946-7808f6aaf7d07208
bzrlib/urlutils.py urlutils.py-20060502195429-e8a161ecf8fac004
bzrlib/versionedfile.py versionedfile.py-20060222045106-5039c71ee3b65490
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
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/en/user-guide/browsing_history.txt browsing_history.txt-20071121073725-0corxykv5irjal00-2
doc/en/user-guide/configuring_bazaar.txt configuring_bazaar.t-20071128000722-ncxiua259xwbdbg7-1
setup.py setup.py-20050314065409-02f8a0a6e3f9bc70
------------------------------------------------------------
revno: 3514.2.18
revision-id:john at arbash-meinel.com-20080716170138-x5sdqgzoc9meihbs
parent: john at arbash-meinel.com-20080716165932-kpncy92jwvxpqb07
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-16 12:01:38 -0500
message:
Revert a change I didn't mean to commit
modified:
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
------------------------------------------------------------
revno: 3514.2.17
revision-id:john at arbash-meinel.com-20080716165932-kpncy92jwvxpqb07
parent: john at arbash-meinel.com-20080716165406-3ctahm7c3fafi3qy
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-16 11:59:32 -0500
message:
On Ian's suggestion, change the 'plan_merge' tests to use the clearer 'add_rev' instead of 'add_version'
modified:
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.16
revision-id:john at arbash-meinel.com-20080716165406-3ctahm7c3fafi3qy
parent: john at arbash-meinel.com-20080713043610-od4tckswbijsvakv
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-16 11:54:06 -0500
message:
Review feedback from Ian.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
------------------------------------------------------------
revno: 3514.2.15
revision-id:john at arbash-meinel.com-20080713043610-od4tckswbijsvakv
parent: john at arbash-meinel.com-20080713040616-fl43f8inkw19qj2l
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Sat 2008-07-12 23:36:10 -0500
message:
Enable collapsing linear regions.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
------------------------------------------------------------
revno: 3514.2.14
revision-id:john at arbash-meinel.com-20080713040616-fl43f8inkw19qj2l
parent: john at arbash-meinel.com-20080713003042-ak1b725ck5vmpbmi
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Sat 2008-07-12 23:06:16 -0500
message:
Bring in the code to collapse linear portions of the graph.
Also, start handling when we get NULL_REVISION instead of a tuple key
from various apis.
We could probably handle it at a different level if we really wanted.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.13
revision-id:john at arbash-meinel.com-20080713003042-ak1b725ck5vmpbmi
parent: john at arbash-meinel.com-20080712180630-5hc93d3s2vff9olo
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Sat 2008-07-12 19:30:42 -0500
message:
Add the ability to prune extra tails from the parent_map.
Now we can get the right answer without having to add extra history.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.12
revision-id:john at arbash-meinel.com-20080712180630-5hc93d3s2vff9olo
parent: john at arbash-meinel.com-20080711214124-qi09irlj7pd5cuzg
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Sat 2008-07-12 13:06:30 -0500
message:
Start refactoring into helper functions
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.11
revision-id:john at arbash-meinel.com-20080711214124-qi09irlj7pd5cuzg
parent: john at arbash-meinel.com-20080711212836-1ehghrnzgaioqwou
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Fri 2008-07-11 16:41:24 -0500
message:
Shortcut the case when one revision is in the ancestry of the other.
At the cost of a heads() check, when one parent supersedes, we don't have to extract
the text for the other. Changes merge time from 3m37s => 3m21s. Using a
CachingParentsProvider would drop the time down to 3m11s.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.10
revision-id:john at arbash-meinel.com-20080711212836-1ehghrnzgaioqwou
parent: john at arbash-meinel.com-20080711140234-djkprpvy1738nbn1
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Fri 2008-07-11 16:28:36 -0500
message:
Handle more edge cases.
Specifically, we don't have to switch on the whole-ancestry logic until we have
3 or more LCAs, we were doing it when there was 2.
However, when we do switch on the whole ancestry logic, it is possible to
get extra 'tails' which have ancestors that are in the ancestry of the
unique lca, but they themselves do not terminate on the unique lca.
The current code is a bit of a compromise, as we probably should chase down
more nodes to include. If we include more than 1 lca, then we run into the
same problem, where common lines have to have one side 'win' and the other 'lose'.
A different possibility would be to create an artificial ancestor node,
which uses the common lines from the different LCAs, so that it is assumed they
all come from the same source. This would end up ignoring cases where changes
were reverted and then reintroduced.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.9
revision-id:john at arbash-meinel.com-20080711140234-djkprpvy1738nbn1
parent: john at arbash-meinel.com-20080710224146-pmkkzgc4vbxhgrsr
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Fri 2008-07-11 09:02:34 -0500
message:
Add some debugging, and work on getting the graph right so we get the weave insertion order correct.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
------------------------------------------------------------
revno: 3514.2.8
revision-id:john at arbash-meinel.com-20080710224146-pmkkzgc4vbxhgrsr
parent: john at arbash-meinel.com-20080710202241-7se48gbsuxm7ih4h
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Thu 2008-07-10 17:41:46 -0500
message:
The insertion ordering into the weave has an impact on conflicts.
Basically, when A has ancestors B and C which have overlapping changes,
inserting B before C will implicitly sort its lines earlier in the weave.
If A resolves the conflict by preserving this ordering, then switching that
ordering later will make those lines look like they originated in A, rather
than in B and C. (Because diff can't track moved lines yet.)
So bring in some explicit ordering constraints which are likely to fit the
real world workflow. Specifically, prefer to add the left-hand parents before
the right-hand parents. Since that is how the merge was done.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.7
revision-id:john at arbash-meinel.com-20080710202241-7se48gbsuxm7ih4h
parent: john at arbash-meinel.com-20080710185429-w5k3hqv7dfpc9o2b
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Thu 2008-07-10 15:22:41 -0500
message:
Fix the failing test by implementing the fallback logic.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.6
revision-id:john at arbash-meinel.com-20080710185429-w5k3hqv7dfpc9o2b
parent: john at arbash-meinel.com-20080709232113-qvkxigm18om27i39
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Thu 2008-07-10 13:54:29 -0500
message:
Write a (failing) test for complex ancestry.
modified:
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.5
revision-id:john at arbash-meinel.com-20080709232113-qvkxigm18om27i39
parent: john at arbash-meinel.com-20080709222235-t9xrdjyrbpk7vl8q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-09 18:21:13 -0500
message:
Switch to the get_parent_map design I had settled on.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
------------------------------------------------------------
revno: 3514.2.4
revision-id:john at arbash-meinel.com-20080709222235-t9xrdjyrbpk7vl8q
parent: john at arbash-meinel.com-20080709222057-ak05lten4u8q77gg
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-09 17:22:35 -0500
message:
Update NEWS about bug #238895
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
------------------------------------------------------------
revno: 3514.2.3
revision-id:john at arbash-meinel.com-20080709222057-ak05lten4u8q77gg
parent: john at arbash-meinel.com-20080709214224-r75k87r6a01pfc3h
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-09 17:20:57 -0500
message:
Fix a failing test in tree_implementations
modified:
bzrlib/tests/tree_implementations/test_tree.py test_tree.py-20061215160206-usu7lwcj8aq2n3br-1
------------------------------------------------------------
revno: 3514.2.2
revision-id:john at arbash-meinel.com-20080709214224-r75k87r6a01pfc3h
parent: aaron at aaronbentley.com-20080630192337-3btwipid5vm0mty9
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: weave_merge
timestamp: Wed 2008-07-09 16:42:24 -0500
message:
Restore a real weave merge to 'bzr merge --weave'.
To do so efficiently, we only add the simple LCAs to the final weave
object, unless we run into complexities with the merge graph.
This gives the same effective result as adding all the texts,
with the advantage of not having to extract all of them.
modified:
bzrlib/merge.py merge.py-20050513021216-953b65a438527106
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
bzrlib/tests/test_weave.py testknit.py-20050627023648-9833cc5562ffb785
bzrlib/weave.py knit.py-20050627021749-759c29984154256b
------------------------------------------------------------
revno: 3514.2.1
revision-id:aaron at aaronbentley.com-20080630192337-3btwipid5vm0mty9
parent: pqm at pqm.ubuntu.com-20080630055535-42tx43kb228k4p94
committer: Aaron Bentley <aaron at aaronbentley.com>
branch nick: merge-test
timestamp: Mon 2008-06-30 15:23:37 -0400
message:
Test for correct conflicts on delete + change
modified:
bzrlib/tests/test_merge.py testmerge.py-20050905070950-c1b5aa49ff911024
Diff too large for email (1167 lines, the limit is 1000).
More information about the bazaar-commits
mailing list