# # # patch "README.encapsulation" # from [ab34e03dfbc148e390fdfb223238f3d9666ad65a] # to [ae11f2bb346c489e458fcdd39b5f7fabba05dcde] # # patch "cmd_db.cc" # from [7943d4dda1261b4a0a3ea04407e9727949554634] # to [1c6087ad01b4fab7333b671f080c830a82e8f9ce] # # patch "database.cc" # from [a25d2123c4050d3dbbbca0852cbc8d347cbad3c8] # to [fc8b895df262f7c072e4da2020e9e79c8dfffe17] # # patch "database.hh" # from [2ed0fd6ca1ba6c5269e446120df198dfedc970c2] # to [2d6bd5939c406972bfc6744ae6ca073ab415bed4] # # patch "revision.cc" # from [5cf8962282b67f85579d9ed30ce2b074f302f002] # to [08ced70b3682935ee831353d3953d7a9d264eec7] # # patch "revision.hh" # from [0fb40fc9c8d15cef7acf58a37279d0192e7904fe] # to [567afc600236952217f44e1af404e718c6d688ee] # ============================================================ --- README.encapsulation ab34e03dfbc148e390fdfb223238f3d9666ad65a +++ README.encapsulation ae11f2bb346c489e458fcdd39b5f7fabba05dcde @@ -13,7 +13,6 @@ database.cc: hook_accept_testresult_change() __app->opts - must_drop_attr() get_opt_author() get_opt_ignore_suspend_certs() get_opt_date_or_cur_date() ============================================================ --- cmd_db.cc 7943d4dda1261b4a0a3ea04407e9727949554634 +++ cmd_db.cc 1c6087ad01b4fab7333b671f080c830a82e8f9ce @@ -230,7 +230,7 @@ CMD(db_changesetify, "changesetify", "", get_user_key(key, app.db); require_password(key, app.keys); - build_changesets_from_manifest_ancestry(app.db); + build_changesets_from_manifest_ancestry(app.db, set()); } CMD(db_rosterify, "rosterify", "", CMD_REF(db), "", @@ -249,7 +249,8 @@ CMD(db_rosterify, "rosterify", "", CMD_R get_user_key(key, app.db); require_password(key, app.keys); - build_roster_style_revs_from_manifest_style_revs(app.db); + build_roster_style_revs_from_manifest_style_revs(app.db, + app.opts.attrs_to_drop); } CMD(db_regenerate_caches, "regenerate_caches", "", CMD_REF(db), "", ============================================================ --- database.cc a25d2123c4050d3dbbbca0852cbc8d347cbad3c8 +++ database.cc fc8b895df262f7c072e4da2020e9e79c8dfffe17 @@ -3611,13 +3611,6 @@ database::get_key_store() return __app->keys; } -bool -database::must_drop_attr(string const & key) -{ - return (__app->opts.attrs_to_drop.find(key) != - __app->opts.attrs_to_drop.end()); -} - utf8 const & database::get_opt_author() { ============================================================ --- database.hh 2ed0fd6ca1ba6c5269e446120df198dfedc970c2 +++ database.hh 2d6bd5939c406972bfc6744ae6ca073ab415bed4 @@ -433,7 +433,6 @@ public: std::string & author); bool hook_accept_testresult_change(std::map const & old_results, std::map const & new_results); - bool must_drop_attr(std::string const & key); utf8 const & get_opt_author(); date_t const get_opt_date_or_cur_date(); ============================================================ --- revision.cc 5cf8962282b67f85579d9ed30ce2b074f302f002 +++ revision.cc 08ced70b3682935ee831353d3953d7a9d264eec7 @@ -884,11 +884,11 @@ struct anc_graph void add_node_ancestry(u64 child, u64 parent); void write_certs(); void kluge_for_bogus_merge_edges(); - void rebuild_ancestry(); + void rebuild_ancestry(set const & attrs_to_drop); void get_node_manifest(u64 node, manifest_id & man); u64 add_node_for_old_manifest(manifest_id const & man); u64 add_node_for_oldstyle_revision(revision_id const & rev); - void construct_revisions_from_ancestry(); + void construct_revisions_from_ancestry(set const & attrs_to_drop); void fixup_node_identities(parent_roster_map const & parent_rosters, roster_t & child_roster, legacy::renames_map const & renames); @@ -1029,7 +1029,7 @@ void void -anc_graph::rebuild_ancestry() +anc_graph::rebuild_ancestry(set const & attrs_to_drop) { kluge_for_bogus_merge_edges(); @@ -1038,7 +1038,7 @@ anc_graph::rebuild_ancestry() transaction_guard guard(db); if (existing_graph) db.delete_existing_revs_and_certs(); - construct_revisions_from_ancestry(); + construct_revisions_from_ancestry(attrs_to_drop); write_certs(); if (existing_graph) db.delete_existing_manifests(); @@ -1387,7 +1387,7 @@ void void -anc_graph::construct_revisions_from_ancestry() +anc_graph::construct_revisions_from_ancestry(set const & attrs_to_drop) { // This is an incredibly cheesy, and also reasonably simple sorting // system: we put all the root nodes in the work queue. we take a @@ -1532,7 +1532,7 @@ anc_graph::construct_revisions_from_ance k != fattrs.end(); ++k) { string key = k->first; - if (db.must_drop_attr(key)) + if (attrs_to_drop.find(key) != attrs_to_drop.end()) { // ignore it } @@ -1639,7 +1639,8 @@ void } void -build_roster_style_revs_from_manifest_style_revs(database & db) +build_roster_style_revs_from_manifest_style_revs(database & db, + set const & attrs_to_drop) { anc_graph graph(true, db); @@ -1678,12 +1679,13 @@ build_roster_style_revs_from_manifest_st graph.add_node_for_oldstyle_revision(*i); } - graph.rebuild_ancestry(); + graph.rebuild_ancestry(attrs_to_drop); } void -build_changesets_from_manifest_ancestry(database & db) +build_changesets_from_manifest_ancestry(database & db, + set const & attrs_to_drop) { anc_graph graph(false, db); @@ -1707,7 +1709,7 @@ build_changesets_from_manifest_ancestry( graph.add_node_ancestry(child_node, parent_node); } - graph.rebuild_ancestry(); + graph.rebuild_ancestry(attrs_to_drop); } ============================================================ --- revision.hh 0fb40fc9c8d15cef7acf58a37279d0192e7904fe +++ revision.hh 567afc600236952217f44e1af404e718c6d688ee @@ -219,10 +219,12 @@ void commands::command_id const & cmd_name); void -build_changesets_from_manifest_ancestry(database & db); +build_changesets_from_manifest_ancestry(database & db, + std::set const & attrs_to_drop); void -build_roster_style_revs_from_manifest_style_revs(database & db); +build_roster_style_revs_from_manifest_style_revs(database & db, + std::set const & attrs_to_drop); void regenerate_caches(database & db);