Rev 3407: (jam) Make Graph.find_differences() correct, in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Tue May 6 00:16:10 BST 2008
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 3407
revision-id:pqm at pqm.ubuntu.com-20080505231558-7w3zaehbvtcjk7jv
parent: pqm at pqm.ubuntu.com-20080505041432-g51fjlrfth74arug
parent: john at arbash-meinel.com-20080505210635-gddkmsfse736rf23
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Tue 2008-05-06 00:15:58 +0100
message:
(jam) Make Graph.find_differences() correct,
and create a Graph.find_unique_ancestors function.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.45
revision-id:john at arbash-meinel.com-20080505210635-gddkmsfse736rf23
parent: john at arbash-meinel.com-20080505204238-598hf62krc3wwcin
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: submitted
timestamp: Mon 2008-05-05 16:06:35 -0500
message:
Update the osutils.resource test for debug strings
modified:
bzrlib/tests/test_osutils.py test_osutils.py-20051201224856-e48ee24c12182989
------------------------------------------------------------
revno: 3377.3.44
revision-id:john at arbash-meinel.com-20080505204238-598hf62krc3wwcin
parent: john at arbash-meinel.com-20080505202906-0utn8d1ti6458rea
parent: pqm at pqm.ubuntu.com-20080505041432-g51fjlrfth74arug
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: submitted
timestamp: Mon 2008-05-05 15:42:38 -0500
message:
merge bzr.dev, resolve NEWS
added:
bzrlib/tests/branch_implementations/test_check.py test_check.py-20080429151303-1sbfclxhddpz0tnj-1
bzrlib/tests/branch_implementations/test_reconcile.py test_reconcile.py-20080429161555-qlmccuyeyt6pvho7-1
bzrlib/tests/interrepository_implementations/test_fetch.py test_fetch.py-20080425213627-j60cjh782ufm83ry-1
modified:
Makefile Makefile-20050805140406-d96e3498bb61c5bb
NEWS NEWS-20050323055033-4e00b5db738777ff
bzr bzr.py-20050313053754-5485f144c7006fa6
bzrlib/__init__.py __init__.py-20050309040759-33e65acf91bbcd5d
bzrlib/branch.py branch.py-20050309040759-e4baf4e0d046576e
bzrlib/builtins.py builtins.py-20050830033751-fc01482b9ca23183
bzrlib/bundle/bundle_data.py read_changeset.py-20050619171944-c0d95aa685537640
bzrlib/bundle/serializer/v4.py v10.py-20070611062757-5ggj7k18s9dej0fr-1
bzrlib/config.py config.py-20051011043216-070c74f4e9e338e8
bzrlib/diff.py diff.py-20050309040759-26944fbbf2ebbf36
bzrlib/errors.py errors.py-20050309040759-20512168c4e14fbd
bzrlib/fetch.py fetch.py-20050818234941-26fea6105696365d
bzrlib/help_topics/__init__.py help_topics.py-20060920210027-rnim90q9e0bwxvy4-1
bzrlib/hooks.py hooks.py-20070325015548-ix4np2q0kd8452au-1
bzrlib/knit.py knit.py-20051212171256-f056ac8f0fbe1bd9
bzrlib/lockable_files.py control_files.py-20051111201905-bb88546e799d669f
bzrlib/log.py log.py-20050505065812-c40ce11702fe5fb1
bzrlib/mutabletree.py mutabletree.py-20060906023413-4wlkalbdpsxi2r4y-2
bzrlib/reconcile.py reweave_inventory.py-20051108164726-1e5e0934febac06e
bzrlib/reconfigure.py reconfigure.py-20070908040425-6ykgo7escxhyrg9p-1
bzrlib/remote.py remote.py-20060720103555-yeeg2x51vn0rbtdp-1
bzrlib/repofmt/knitrepo.py knitrepo.py-20070206081537-pyy4a00xdas0j4pf-1
bzrlib/repository.py rev_storage.py-20051111201905-119e9401e46257e3
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
bzrlib/revisiontree.py revisiontree.py-20060724012533-bg8xyryhxd0o0i0h-1
bzrlib/smart/repository.py repository.py-20061128022038-vr5wy5bubyb8xttk-1
bzrlib/smart/server.py server.py-20061110062051-chzu10y32vx8gvur-1
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/store/revision/knit.py knit.py-20060303020652-de5fa299e941a3c7
bzrlib/store/revision/text.py text.py-20060303020652-e49155f0da4d14ab
bzrlib/symbol_versioning.py symbol_versioning.py-20060105104851-9ecf8af605d15a80
bzrlib/tests/__init__.py selftest.py-20050531073622-8d0e3c8845c97a64
bzrlib/tests/blackbox/test_branch.py test_branch.py-20060524161337-noms9gmcwqqrfi8y-1
bzrlib/tests/blackbox/test_hooks.py test_hooks.py-20080308163236-xljgf9j41hik1x21-1
bzrlib/tests/blackbox/test_reconcile.py test_fix.py-20060223013051-9a188e15a5ee9451
bzrlib/tests/blackbox/test_version.py test_version.py-20070312060045-ol7th9z035r3im3d-1
bzrlib/tests/branch_implementations/__init__.py __init__.py-20060123013057-b12a52c3f361daf4
bzrlib/tests/branch_implementations/test_branch.py testbranch.py-20050711070244-121d632bc37d7253
bzrlib/tests/branch_implementations/test_commit.py test_commit.py-20070206022134-117z1i5b644p63r0-1
bzrlib/tests/branch_implementations/test_hooks.py test_hooks.py-20070129154855-blhpwxmvjs07waei-1
bzrlib/tests/branch_implementations/test_pull.py test_pull.py-20060410103942-83c35b26657414fc
bzrlib/tests/branch_implementations/test_push.py test_push.py-20070130153159-fhfap8uoifevg30j-1
bzrlib/tests/branch_implementations/test_uncommit.py test_uncommit.py-20070205180410-ge7058d9138mvq3x-1
bzrlib/tests/interrepository_implementations/__init__.py __init__.py-20060220054744-baf49a1f88f17b1a
bzrlib/tests/interrepository_implementations/test_interrepository.py test_interrepository.py-20060220061411-1ec13fa99e5e3eee
bzrlib/tests/repository_implementations/test_fetch.py test_fetch.py-20070814052151-5cxha9slx4c93uog-1
bzrlib/tests/repository_implementations/test_repository.py test_repository.py-20060131092128-ad07f494f5c9d26c
bzrlib/tests/test_bundle.py test.py-20050630184834-092aa401ab9f039c
bzrlib/tests/test_config.py testconfig.py-20051011041908-742d0c15d8d8c8eb
bzrlib/tests/test_fetch.py testfetch.py-20050825090644-f73e07e7dfb1765a
bzrlib/tests/test_hooks.py test_hooks.py-20070628030849-89rtsbe5dmer5npz-1
bzrlib/tests/test_knit.py test_knit.py-20051212171302-95d4c00dd5f11f2b
bzrlib/tests/test_lockable_files.py test_lockable_files.py-20051225183927-365c7fd99591caf1
bzrlib/tests/test_reconcile.py test_reconcile.py-20060225054842-50aa618584a86f26
bzrlib/tests/test_reconfigure.py test_reconfigure.py-20070908040425-6ykgo7escxhyrg9p-2
bzrlib/tests/test_remote.py test_remote.py-20060720103555-yeeg2x51vn0rbtdp-2
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_smart_transport.py test_ssh_transport.py-20060608202016-c25gvf1ob7ypbus6-2
bzrlib/tests/test_store.py teststore.py-20050826022702-f6caadb647395769
bzrlib/tests/transport_util.py transportutil.py-20070525113600-5v2igk89s8fensom-1
bzrlib/tests/tree_implementations/__init__.py __init__.py-20060717075546-420s7b0bj9hzeowi-2
bzrlib/tests/tree_implementations/test_inv.py test_inv.py-20070312023226-0cdvk5uwhutis9vg-1
bzrlib/tests/tree_implementations/test_test_trees.py test_tree_trees.py-20060720091921-3nwi5h21lf06vf5p-1
bzrlib/tests/workingtree_implementations/test_basis_inventory.py test_basis_inventory.py-20051218151655-3650468941091309
bzrlib/tests/workingtree_implementations/test_commit.py test_commit.py-20060421013633-1610ec2331c8190f
bzrlib/transform.py transform.py-20060105172343-dd99e54394d91687
bzrlib/transport/ftp.py ftp.py-20051116161804-58dc9506548c2a53
bzrlib/tree.py tree.py-20050309040759-9d5f2496be663e77
bzrlib/workingtree.py workingtree.py-20050511021032-29b6ec0a681e02e3
bzrlib/workingtree_4.py workingtree_4.py-20070208044105-5fgpc5j3ljlh5q6c-1
doc/default.css default.css-20060622101119-tgwtdci8z769bjb9-1
doc/developers/HACKING.txt HACKING-20050805200004-2a5dc975d870f78c
doc/developers/network-protocol.txt networkprotocol.txt-20070903044232-woustorrjbmg5zol-1
doc/en/user-guide/controlling_registration.txt controlling_registra-20071121073725-0corxykv5irjal00-3
doc/en/user-guide/hooks.txt hooks.txt-20070829200551-7nr6e5a1io6x78uf-1
doc/en/user-guide/sending_changes.txt sending_changes.txt-20071123154453-dk2mjhrg1vpjm5w2-4
------------------------------------------------------------
revno: 3377.3.43
revision-id:john at arbash-meinel.com-20080505202906-0utn8d1ti6458rea
parent: john at arbash-meinel.com-20080501204100-r9pw4d1znr8g728x
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: submitted
timestamp: Mon 2008-05-05 15:29:06 -0500
message:
Ian's review feedback
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.42
revision-id:john at arbash-meinel.com-20080501204100-r9pw4d1znr8g728x
parent: john at arbash-meinel.com-20080501201042-ep7n9ix7ebe5nlpk
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-05-01 15:41:00 -0500
message:
Get the tests to actually work, and get the code to go along with.
Turns out I was using an api wrong anyway, but now the tests pass.
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.41
revision-id:john at arbash-meinel.com-20080501201042-ep7n9ix7ebe5nlpk
parent: john at arbash-meinel.com-20080501200437-yfprhb36wggjq50n
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-05-01 15:10:42 -0500
message:
Fix up a couple of the tests
modified:
bzrlib/tests/blackbox/test_status.py teststatus.py-20050712014354-508855eb9f29f7dc
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.40
revision-id:john at arbash-meinel.com-20080501200437-yfprhb36wggjq50n
parent: john at arbash-meinel.com-20080501193204-eqsmaw2t6dh2q7ul
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-05-01 15:04:37 -0500
message:
a little bit more cleanup, change how ghosts are handled
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.39
revision-id:john at arbash-meinel.com-20080501193204-eqsmaw2t6dh2q7ul
parent: john at arbash-meinel.com-20080501174214-o12sdv6548vvxems
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-05-01 14:32:04 -0500
message:
More tweaks for show_pending_merges
Display the pending merge itself right away.
Factor out the sorting code to a helper function.
Pull out common operations to outside the loop.
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.38
revision-id:john at arbash-meinel.com-20080501174214-o12sdv6548vvxems
parent: john at arbash-meinel.com-20080430221814-32fn9bgqi2t5psj6
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-05-01 12:42:14 -0500
message:
Pull out terminal width from the inner loop of show_pending_merges
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.37
revision-id:john at arbash-meinel.com-20080430221814-32fn9bgqi2t5psj6
parent: john at arbash-meinel.com-20080427142151-24uxl2vmwbs93qoa
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Wed 2008-04-30 17:18:14 -0500
message:
Ian's first review comments.
modified:
NEWS NEWS-20050323055033-4e00b5db738777ff
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.36
revision-id:john at arbash-meinel.com-20080427142151-24uxl2vmwbs93qoa
parent: john at arbash-meinel.com-20080425205150-zsytbcx0nol0bilw
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Sun 2008-04-27 09:21:51 -0500
message:
Small updates, try to write a test for the race condition.
So far I have been unsuccessful, it is very hard to artificially
create the race that I found in bzr.dev.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.35
revision-id:john at arbash-meinel.com-20080425205150-zsytbcx0nol0bilw
parent: john at arbash-meinel.com-20080425203237-c888ix7p0hxza5b3
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Fri 2008-04-25 15:51:50 -0500
message:
Add a test that exercises the multiple interesting unique code
The previous tests never entered the second loop, because they only had
a single interesting graph path. Still missing some tests, though
everything passes for bzr.dev.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.34
revision-id:john at arbash-meinel.com-20080425203237-c888ix7p0hxza5b3
parent: john at arbash-meinel.com-20080425190324-sa68d4ihd5te2pnb
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Fri 2008-04-25 15:32:37 -0500
message:
When collapsing common revisions into another searcher,
we need to make sure that anything considered 'common' is also common
with the common-to-all-unique-node searcher.
This does not include a test case, though I really want to.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.33
revision-id:john at arbash-meinel.com-20080425190324-sa68d4ihd5te2pnb
parent: john at arbash-meinel.com-20080425175727-ll3u7g7qqegvy8us
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Fri 2008-04-25 14:03:24 -0500
message:
Add some logging with -Dgraph
modified:
bzrlib/debug.py debug.py-20061102062349-vdhrw9qdpck8cl35-1
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.32
revision-id:john at arbash-meinel.com-20080425175727-ll3u7g7qqegvy8us
parent: john at arbash-meinel.com-20080425024812-3libjfzgsypi3l3l
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Fri 2008-04-25 12:57:27 -0500
message:
try collapsing the common revisions into a single searcher.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.31
revision-id:john at arbash-meinel.com-20080425024812-3libjfzgsypi3l3l
parent: john at arbash-meinel.com-20080425021017-49mxjzvgk0enbhey
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 21:48:12 -0500
message:
change the status code to use find_unique_ancestors()
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.30
revision-id:john at arbash-meinel.com-20080425021017-49mxjzvgk0enbhey
parent: john at arbash-meinel.com-20080425020453-4txgyv9utbd73y21
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 21:10:17 -0500
message:
Can we avoid the extra _do_query in start_searching?
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.29
revision-id:john at arbash-meinel.com-20080425020453-4txgyv9utbd73y21
parent: john at arbash-meinel.com-20080425015422-k2xb2p6k6sgxwt5s
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 21:04:53 -0500
message:
Revert the _find_any_seen change.
The overhead of combining the searchers swamps the benefits
of combining the search.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.28
revision-id:john at arbash-meinel.com-20080425015422-k2xb2p6k6sgxwt5s
parent: john at arbash-meinel.com-20080425004033-y7p8ol60qntr1pyn
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 20:54:22 -0500
message:
Try using _find_any_seen_ancestors,
which pulls out the loop around find_seen_ancestors.
This may not be a net win yet.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.27
revision-id:john at arbash-meinel.com-20080425004033-y7p8ol60qntr1pyn
parent: john at arbash-meinel.com-20080425003535-l6a6okvcdhn8f2sj
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 19:40:33 -0500
message:
some simple updates
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.26
revision-id:john at arbash-meinel.com-20080425003535-l6a6okvcdhn8f2sj
parent: john at arbash-meinel.com-20080424233649-xyyjic178u9zuidd
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 19:35:35 -0500
message:
Found a graph leak.
Needed set.update() rather than set =
The results were still correct, but it would generally cause
a large leak into the rest of the graph.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.25
revision-id:john at arbash-meinel.com-20080424233649-xyyjic178u9zuidd
parent: john at arbash-meinel.com-20080424230555-h2alm4wl2zc7e5l9
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 18:36:49 -0500
message:
A few more minimal ancestry checks
modified:
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.24
revision-id:john at arbash-meinel.com-20080424230555-h2alm4wl2zc7e5l9
parent: john at arbash-meinel.com-20080424221718-gaa2txy3xinmvh6m
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 18:05:55 -0500
message:
For some reason find_unique_ancestors is much slower than it should be.
Start trying to assert that it doesn't access more ancestry than
it needs to.
modified:
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.23
revision-id:john at arbash-meinel.com-20080424221718-gaa2txy3xinmvh6m
parent: john at arbash-meinel.com-20080424170642-5w967z1r65gtzy2j
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 17:17:18 -0500
message:
Implement find_unique_ancestors using more explicit graph searching.
Copied a lot of the loops from the find_difference code, but
could streamline it a bit for the different logic
(we only have to track one side of the differences, not both)
I need to do more complete testing on bzr.dev, but so far
it looks pretty good.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.22
revision-id:john at arbash-meinel.com-20080424170642-5w967z1r65gtzy2j
parent: john at arbash-meinel.com-20080424165813-nzlmhwbj05c8ao1c
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 12:06:42 -0500
message:
include some tests using the complex graphs
modified:
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.21
revision-id:john at arbash-meinel.com-20080424165813-nzlmhwbj05c8ao1c
parent: john at arbash-meinel.com-20080423230918-3dwdjgum1qm2nntb
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_unique_ancestors
timestamp: Thu 2008-04-24 11:58:13 -0500
message:
Simple brute-force implementation of find_unique_ancestors
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.20
revision-id:john at arbash-meinel.com-20080423230918-3dwdjgum1qm2nntb
parent: john at arbash-meinel.com-20080423222403-sqa8rs4d8eqdk0xi
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 18:09:18 -0500
message:
comment cleanups.
I looked at removing the extra find_seen_ancestors() calls as
part of new_common_unique, but they turn out to be very
beneficial.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.19
revision-id:john at arbash-meinel.com-20080423222403-sqa8rs4d8eqdk0xi
parent: john at arbash-meinel.com-20080423221521-zya0eumw6tmo2ii6
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 17:24:03 -0500
message:
Start culling unique searchers once they converge.
This shows a large improvement when there are lots of searchers.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.18
revision-id:john at arbash-meinel.com-20080423221521-zya0eumw6tmo2ii6
parent: john at arbash-meinel.com-20080423221309-etwdaic43iytt8n1
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 17:15:21 -0500
message:
We don't actually use common_ancestors_unique, so get rid of it.
It was meant to avoid redoing work, but pretty much had 0 hit rate.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.17
revision-id:john at arbash-meinel.com-20080423221309-etwdaic43iytt8n1
parent: john at arbash-meinel.com-20080423220319-gy4c5u2zwqy4g687
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 17:13:09 -0500
message:
Keep track of the intersection of unique ancestry,
rather than checking it again all the time.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.16
revision-id:john at arbash-meinel.com-20080423220319-gy4c5u2zwqy4g687
parent: john at arbash-meinel.com-20080423215543-f4wrfck5ag25pjjq
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 17:03:19 -0500
message:
small cleanups
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.15
revision-id:john at arbash-meinel.com-20080423215543-f4wrfck5ag25pjjq
parent: john at arbash-meinel.com-20080423214212-i63wv3x7s27ekjim
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 16:55:43 -0500
message:
minor update
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.14
revision-id:john at arbash-meinel.com-20080423214212-i63wv3x7s27ekjim
parent: john at arbash-meinel.com-20080423203341-4qlndx8u2zu21yz0
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 16:42:12 -0500
message:
Take another tack on _search_for_extra
All we really care about is getting to the point where
all common searchers have passed the unique nodes.
So start all unique searchers with as much ancestry as
possible.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.13
revision-id:john at arbash-meinel.com-20080423203341-4qlndx8u2zu21yz0
parent: john at arbash-meinel.com-20080423022725-rtmlxj6nt36xn79q
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Wed 2008-04-23 15:33:41 -0500
message:
Change _search_for_extra_common slightly.
The official statement is that you can stop searching common nodes
once all common tips are ancestors of *all* unique nodes.
We need to make sure that we stop the common searchers once
they find nodes that are ancestors, and then we can only
exit the common search loop when they have finished.
All tests pass, need to see if it is still 'efficient'.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
------------------------------------------------------------
revno: 3377.3.12
revision-id:john at arbash-meinel.com-20080423022725-rtmlxj6nt36xn79q
parent: john at arbash-meinel.com-20080423022026-mpxr9mafum9rcocz
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 21:27:25 -0500
message:
Remove the helpful but ugly thunk
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.11
revision-id:john at arbash-meinel.com-20080423022026-mpxr9mafum9rcocz
parent: john at arbash-meinel.com-20080422225828-l6qigns5f4t81dbi
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 21:20:26 -0500
message:
Committing a debug thunk that was very helpful
find_seen_ancestors() should *not* be accessing the real_provider() as it
should only be looking at the part of the graph that has already been
accessed.
However, in some of our final checks, the list passed in included some of
the stuff we had only peaked at.
This drops the time for "bzr status" after a simple merge down from 5.2s down
to 1.76s. (Before this fix it was closer to 6-11s for my "improved" form).
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.10
revision-id:john at arbash-meinel.com-20080422225828-l6qigns5f4t81dbi
parent: john at arbash-meinel.com-20080422210318-z0mc5q4hdxsur9qm
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 17:58:28 -0500
message:
Tweak _BreadthFirstSearcher.find_seen_ancestors()
The old function stepped too far. It would query for the very tip nodes,
which had not actually been probed for yet. This was further exacerbated,
because it was using a _BreadthFirstSearcher to do the sub-iteration,
which probably had the same problem.
Overall, seems to be considerably faster.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.9
revision-id:john at arbash-meinel.com-20080422210318-z0mc5q4hdxsur9qm
parent: john at arbash-meinel.com-20080422204514-bm0v3g592dapbx2s
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 16:03:18 -0500
message:
Small tweaks to _do_query
Don't call set.update() with a generator, as it is fairly slow, especially
if the generator is likely to be empty.
Only 1 in 4 had data, and lsprof claimed 4s => 0.3s for set.update(),
and 7.3 => 1.13 as the overhead in _do_query versus just the
get_parent_map() cost.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.8
revision-id:john at arbash-meinel.com-20080422204514-bm0v3g592dapbx2s
parent: john at arbash-meinel.com-20080422203133-xra4zdxr7g5jvlcq
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:45:14 -0500
message:
Fix a bug with re-using the same variable name is status.py
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.7
revision-id:john at arbash-meinel.com-20080422203133-xra4zdxr7g5jvlcq
parent: john at arbash-meinel.com-20080422203057-a907ny2ytrw008c7
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:31:33 -0500
message:
rewrap
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.6
revision-id:john at arbash-meinel.com-20080422203057-a907ny2ytrw008c7
parent: john at arbash-meinel.com-20080422203026-s8kpv2f9pm1cjocb
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:30:57 -0500
message:
Switch the status code to use get_parent_map instead of get_parents()
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
------------------------------------------------------------
revno: 3377.3.5
revision-id:john at arbash-meinel.com-20080422203026-s8kpv2f9pm1cjocb
parent: john at arbash-meinel.com-20080422201019-lqfw2p8dic55an0e
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:30:26 -0500
message:
Fix a latent bug in Graph.get_parents()
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.4
revision-id:john at arbash-meinel.com-20080422201019-lqfw2p8dic55an0e
parent: john at arbash-meinel.com-20080422200449-mknvyea4ndx8uxw0
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:10:19 -0500
message:
Fix stupid ordering in find_seen_ancestors
Don't call stop_searching_any on all ancestors, call it on all of them
after you have sorted it out.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.3
revision-id:john at arbash-meinel.com-20080422200449-mknvyea4ndx8uxw0
parent: john at arbash-meinel.com-20080422185952-nxeuwil7ykk5krna
parent: john at arbash-meinel.com-20071204195523-3tong8h1fwvx0xgy
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 15:04:49 -0500
message:
merge in the status uses find_differences code, though it exposes that find_differences is slower than whole-ancestry work
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3074.3.2
revision-id:john at arbash-meinel.com-20071204195523-3tong8h1fwvx0xgy
parent: john at arbash-meinel.com-20071204190203-vh8zea8nt8ravz0z
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: status_after_merge_172657
timestamp: Tue 2007-12-04 13:55:23 -0600
message:
update the ignore list in one-go.
Add a test that ancestors that are already listed are properly hidden.
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3074.3.1
revision-id:john at arbash-meinel.com-20071204190203-vh8zea8nt8ravz0z
parent: pqm at pqm.ubuntu.com-20071204035213-2kot5u403spjchen
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: status_after_merge_172657
timestamp: Tue 2007-12-04 13:02:03 -0600
message:
Fix bug #172657, use Graph.find_difference() rather than ancestry set operations.
When showing pending merges, we can figure out what is new, without having to load the entire
ancestry and do a set difference.
This also puts us really close to displaying them properly nested, rather than
using a single depth for all children of a merge.
modified:
bzrlib/status.py status.py-20050505062338-431bfa63ec9b19e6
bzrlib/tests/test_status.py test_status.py-20060516190614-fbf6432e4a6e8aa5
------------------------------------------------------------
revno: 3377.3.2
revision-id:john at arbash-meinel.com-20080422185952-nxeuwil7ykk5krna
parent: john at arbash-meinel.com-20080422184821-wd5n1y365ev60lyq
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 13:59:52 -0500
message:
find_difference is fixed by updating _find_border_ancestors.... is that reasonable?
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
------------------------------------------------------------
revno: 3377.3.1
revision-id:john at arbash-meinel.com-20080422184821-wd5n1y365ev60lyq
parent: pqm at pqm.ubuntu.com-20080422120059-sony5sthnlewabge
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: find_differences
timestamp: Tue 2008-04-22 13:48:21 -0500
message:
Bring in some of the changes from graph_update and graph_optimization
_BreadthFirstSearcher.find_seen_ancestors takes a list/set instead of a single node.
find_difference() is still broken, but mostly just in ways that it was already broken.
modified:
bzrlib/graph.py graph_walker.py-20070525030359-y852guab65d4wtn0-1
bzrlib/tests/test_graph.py test_graph_walker.py-20070525030405-enq4r60hhi9xrujc-1
Diff too large for email (1283 lines, the limit is 1000).
More information about the bazaar-commits
mailing list