monotone-commits-nodiffs
[Top][All Lists]
Advanced

[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
----------------------------------------------------------------------




reply via email to

[Prev in Thread] Current Thread [Next in Thread]