[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Monotone-commits-nodiffs] Revision 87fe6d9e2feee56edc43566fc4cfe54fc4f9
From: |
monotone |
Subject: |
[Monotone-commits-nodiffs] Revision 87fe6d9e2feee56edc43566fc4cfe54fc4f94bb2 |
Date: |
Sun, 24 Aug 2008 17:01:11 +0200 |
-----------------------------------------------------------------
Revision: 87fe6d9e2feee56edc43566fc4cfe54fc4f94bb2
Ancestor: 0792c2168ee9402e1494ddd499a5cd1e38365069
Author: address@hidden
Date: 2008-08-24T13:35:47
Branch: net.venge.monotone.automate_show_conflict
Added files:
database_format.text
Modified files:
cmd_merging.cc cmd_netsync.cc cset.cc cset.hh database.cc
roster.cc roster.hh roster_delta.cc roster_merge.cc
roster_merge.hh
tests/(imp)_merge((patch_foo_a),_(delete_foo_))/__driver__.lua
tests/merge((drop_a),_(rename_a_b,_patch_b))/__driver__.lua
tests/merge((patch_a),_(drop_a))/__driver__.lua
tests/merge((patch_a),_(drop_a,_add_a))/__driver__.lua
tests/resolve_duplicate_name_conflict/__driver__.lua
tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_1-beth_1
tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_2-jim_1
tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_2-jim_1-conflicts
tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_3-beth_3
tests/resolve_duplicate_name_conflict/expected-merge-messages-jim_1-beth_2
tests/resolve_duplicate_name_conflict/expected-update-messages-beth_3
tests/resolve_duplicate_name_conflict/expected-update-messages-jim_2
tests/resolve_duplicate_name_conflict_drop_vs_suture/__driver__.lua
tests/resolve_duplicate_name_conflict_drop_vs_suture/merge_e_f-message-1
tests/resolve_duplicate_name_conflict_drop_vs_suture/merge_g_d-message-1
tests/resolve_duplicate_name_conflict_drop_vs_suture/update-message-1
tests/resolve_duplicate_name_conflict_multiple_parents/__driver__.lua
tests/update_with_pending_modification/__driver__.lua
work.cc work.hh
ChangeLog:
More improvement of suture ancestor handling. All tests pass. more work to be
done.
* cmd_netsync.cc (CMD(clone)): cmd_merging.cc (CMD(update)): pass
* merged_roster to update_any_attr, for speed optimization and suture
* check
(CMD(get_roster)): pass revision id to write_roster_and_marking for
check_sane_against.
* cset.cc (cset::apply_to): add sutured_nodes_inherited; clear ancestors.
(print_cset, parse_cset): add sutured_nodes_inherited
* cset.hh (struct editable_tree): add clear_ancestors operation.
(struct cset): add sutured_nodes_inherited
* database.cc (database_impl::get_roster_base): pass revision id to
read_roster_and_marking for check_sane_against.
(database_impl::write_delayed_roster): pass revision id to
write_roster_and_marking for check_sane_against.
(database::get_roster_version): pass revision id to check_sane_against.
* database_format.text: New file.
* roster.cc (node::node, file_node::file_node): add ancestors argument.
(file_node::clone): copy ancestors
(roster_t::check_sane_against): add rev_id argument for checking birth
revision for sutured nodes. Handle empty markings. Check ancestors for
sutured nodes.
(union_new_nodes): handle suture ancestors correctly.
(mark_merge_node): Add comments on sutures. Set parents correctly for
new suture.
(delta_in_both (cset)): add sutured_nodes_inherited
(roster_t::print_to): print ancestor node ids in local part.
(roster_t::parse_from): Read ancestor node ids.
(UNIT_TESTS): add revision id arugments to match changes.
* roster.hh (struct node): add ancestors argument in constructor. Clean
up documentation of suture ancestors.
(struct file_node): add ancestors argument in constructor.
(roster_t::check_sane_against, read_roster_and_marking,
write_roster_and_marking): add rev_id argument.
* roster_delta.cc (roster_delta_t, roster_delta_t::apply,
print_roster_delta_t, parse_roster_delta_t): Add nodes_sutured,
sutured_nodes_inherited.
(do_delta_for_node_only_in_dest): Add nodes_sutured.
(do_delta_for_node_in_both): Add sutured_nodes_inherited.
* roster_merge.cc (roster_merge_result::report_suture_drop_conflicts):
Can't print names of dropped nodes; not accessible.
(parse_resolve_conflicts_str): Doc that we don't detect all
inappropriate resolutions here.
(merge_scalar): Output winning side.
(insert_sutured): Improve already_handled.
(assign_name): Add parent_nid argument to handle suture name conflicts.
(roster_merge): set suture ancestors properly. Don't check
already_handled empty; not working.
(UNIT_TESTS): match changes.
* tests/update_with_pending_modification/__driver__.lua:
* tests/merge((patch_a),_(drop_a,_add_a))/__driver__.lua (base):
* tests/merge((patch_a),_(drop_a))/__driver__.lua (left):
* tests/merge((drop_a),_(rename_a_b,_patch_b))/__driver__.lua (base):
* tests/(imp)_merge((patch_foo_a),_(delete_foo_))/__driver__.lua (base):
Now generates conflicts instead of demonstrating die-die-die.
* tests/resolve_duplicate_name_conflict/__driver__.lua: Don't mess up the
workspace for update. Use samefilestd.
* tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_1-beth_1:
* tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_2-jim_1:
*
tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_2-jim_1-conflicts:
* tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_3-beth_3:
* tests/resolve_duplicate_name_conflict/expected-merge-messages-jim_1-beth_2:
* tests/resolve_duplicate_name_conflict/expected-update-messages-beth_3:
* tests/resolve_duplicate_name_conflict/expected-merge-messages-abe_1-beth_1:
match code changes.
* tests/resolve_duplicate_name_conflict_drop_vs_suture/__driver__.lua:
Clean up comments. Add FIXME for internal line merger. Add FIXME for
test not done.
* tests/resolve_duplicate_name_conflict_drop_vs_suture/merge_e_f-message-1:
* tests/resolve_duplicate_name_conflict_drop_vs_suture/merge_g_d-message-1:
* tests/resolve_duplicate_name_conflict_drop_vs_suture/update-message-1:
match code changes.
* tests/resolve_duplicate_name_conflict_multiple_parents/__driver__.lua:
Add FIXME for internal line merger.
* work.cc (editable_working_tree::get_node): return the_null_node,
document why.
(workspace::update_any_attrs): Add roster arg, to allow correct suture
ancestors.
* work.hh (workspace::update_any_attrs): Add roster arg, to allow correct suture
ancestors.
monotone --db={your.database} diff
--revision=0792c2168ee9402e1494ddd499a5cd1e38365069
--revision=87fe6d9e2feee56edc43566fc4cfe54fc4f94bb2
----------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Monotone-commits-nodiffs] Revision 87fe6d9e2feee56edc43566fc4cfe54fc4f94bb2,
monotone <=