# # # patch "ChangeLog" # from [1da0b909bd2cdfcf8af52a8815f23bbfb8fccfb3] # to [cde33a271bea69ce114bb1b5547ec6ea2f6cad50] # # patch "roster_merge.cc" # from [5f16ec771d4fbbaf84c0cd990444162bd38417d4] # to [8b20cb929e5609dc889eabf5462710957753f494] # ============================================================ --- ChangeLog 1da0b909bd2cdfcf8af52a8815f23bbfb8fccfb3 +++ ChangeLog cde33a271bea69ce114bb1b5547ec6ea2f6cad50 @@ -1,5 +1,9 @@ 2006-02-21 Nathaniel Smith + * roster_merge.cc: Fixup after merge. + +2006-02-21 Nathaniel Smith + * work.cc (detach_node): Check if we are passed the root dir, and error out if so. ============================================================ --- roster_merge.cc 5f16ec771d4fbbaf84c0cd990444162bd38417d4 +++ roster_merge.cc 8b20cb929e5609dc889eabf5462710957753f494 @@ -25,7 +25,9 @@ && node_attr_conflicts.empty() && orphaned_node_conflicts.empty() && rename_target_conflicts.empty() - && directory_loop_conflicts.empty(); + && directory_loop_conflicts.empty() + && illegal_name_conflicts.empty() + && !missing_root_dir; } void @@ -81,6 +83,12 @@ % directory_loop_conflicts[i].nid % directory_loop_conflicts[i].parent_name.first % directory_loop_conflicts[i].parent_name.second); + + for (size_t i = 0; i < illegal_name_conflicts.size(); ++i) + L(FL("illegal name conflict: node %d, wanted parent %d, name %s") + % illegal_name_conflicts[i].nid + % illegal_name_conflicts[i].parent_name.first + % illegal_name_conflicts[i].parent_name.second); } void @@ -121,6 +129,12 @@ % directory_loop_conflicts[i].nid % directory_loop_conflicts[i].parent_name.first % directory_loop_conflicts[i].parent_name.second); + + for (size_t i = 0; i < illegal_name_conflicts.size(); ++i) + W(F("illegal name conflict: node %d, wanted parent %d, name %s") + % illegal_name_conflicts[i].nid + % illegal_name_conflicts[i].parent_name.first + % illegal_name_conflicts[i].parent_name.second); } void @@ -601,21 +615,7 @@ file_path_internal(s).split(sp); return sp; } -} -static void -make_dir(roster_t & r, marking_map & markings, - revision_id const & birth_rid, revision_id const & parent_name_rid, - std::string const & name, node_id nid) -{ - r.create_dir_node(nid); - r.attach_node(nid, split(name)); - marking_t marking; - marking.birth_revision = birth_rid; - marking.parent_name.insert(parent_name_rid); - safe_insert(markings, std::make_pair(nid, marking)); -} - // now check for the possible global problems if (!result.roster.has_root()) result.missing_root_dir = true; @@ -638,7 +638,22 @@ result.illegal_name_conflicts.push_back(conflict); } } +} + static void +make_dir(roster_t & r, marking_map & markings, + revision_id const & birth_rid, revision_id const & parent_name_rid, + std::string const & name, node_id nid) +{ + r.create_dir_node(nid); + r.attach_node(nid, split(name)); + marking_t marking; + marking.birth_revision = birth_rid; + marking.parent_name.insert(parent_name_rid); + safe_insert(markings, std::make_pair(nid, marking)); +} + +static void make_file(roster_t & r, marking_map & markings, revision_id const & birth_rid, revision_id const & parent_name_rid, revision_id const & file_content_rid,