# # # patch "ChangeLog" # from [da68d11e86905069b0d0fa68eaae03b71f1b7287] # to [624c99159f0325e34e20d940add6ec64b17f920f] # # patch "automate.cc" # from [33c508fd7f2f071c7e8453b7f66a181710fa63ec] # to [b235d6fb873027801ec5d0ca2b6948f014b86388] # # patch "cmd_diff_log.cc" # from [2e889d5a5362f213f72e65089b371a4c53610955] # to [baf27ecebe018cb3fc78b0a313eb5429b6cff101] # # patch "cmd_list.cc" # from [d9d990cc36d224e4614b756ec10e4376bd55f1f8] # to [caa777cc1c76f7613237494d2d6ff71ad232fc4e] # # patch "cmd_merging.cc" # from [ad2712f85748ce56f5b6a66b8daf10829f6e6077] # to [5b938e9490b4d30b4db85fd893d7049798452b04] # # patch "cmd_ws_commit.cc" # from [71698cbcbe710c826a68d81305555f3858a5be18] # to [0eb0d600382530e3322fc941aeb221b313569de4] # # patch "commands.cc" # from [48912315da0c339f01051cceddb303d3454070d6] # to [31247ea847e3a1702e069e468a140f9fe33aca16] # # patch "tests/t_log_dir.at" # from [6301869868e3eefa8f879ec04a564f794d776327] # to [69ce550d87f599689b32bfe641affe76dce2fb0e] # # patch "work.cc" # from [6143fe5657ecc968d463609fea64f6d038deffaf] # to [974c732d3974dc1c349e6e62e76047482e17b22d] # # patch "work.hh" # from [65b7ddb32efff3a94ccba37c4087914faea5bdaf] # to [bda3ab59f09f20572d550a872a9208e3434206c5] # ============================================================ --- ChangeLog da68d11e86905069b0d0fa68eaae03b71f1b7287 +++ ChangeLog 624c99159f0325e34e20d940add6ec64b17f920f @@ -1,3 +1,14 @@ +2006-04-26 Derek Scherger + + * automate.cc: + * cmd_diff_log.cc: + * cmd_list.cc: + * cmd_merging.cc: + * cmd_ws_commit.cc: + * commands.cc: + * work.cc: use explicit temp_node_id_sources everywhere + * tests/t_log_dir.at: remove stale comment + 2006-04-25 Derek Scherger * cmd_*.cc: merge new restrictions changes in from commands.cc ============================================================ --- automate.cc 33c508fd7f2f071c7e8453b7f66a181710fa63ec +++ automate.cc b235d6fb873027801ec5d0ca2b6948f014b86388 @@ -227,8 +227,10 @@ throw usage(help_name); roster_t base, current; - get_base_and_current_roster_shape(base, current, app); + temp_node_id_source nis; + get_base_and_current_roster_shape(base, current, nis, app); + if (args.size() == 1) { // a filename was given, if it has attributes, print them @@ -679,12 +681,13 @@ app.require_workspace(); + temp_node_id_source nis; roster_t base, curr; inventory_map inventory; cset cs; MM(cs); path_set unchanged, changed, missing, known, unknown, ignored; - get_base_and_current_roster_shape(base, curr, app); + get_base_and_current_roster_shape(base, curr, nis, app); make_cset(base, curr, cs); I(cs.deltas_applied.empty()); @@ -970,7 +973,7 @@ revision_set rev; app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); update_current_roster_from_filesystem(new_roster, app); get_revision_id(old_revision_id); @@ -1050,7 +1053,7 @@ revision_id old_revision_id; app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); update_current_roster_from_filesystem(new_roster, app); } else ============================================================ --- cmd_diff_log.cc 2e889d5a5362f213f72e65089b371a4c53610955 +++ cmd_diff_log.cc baf27ecebe018cb3fc78b0a313eb5429b6cff101 @@ -334,7 +334,7 @@ roster_t new_roster, old_roster; revision_id old_rid; - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); get_revision_id(old_rid); restriction mask(args, app.exclude_patterns, old_roster, new_roster, app); @@ -355,7 +355,7 @@ N(app.db.revision_exists(r_old_id), F("no such revision '%s'") % r_old_id); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); // Clobber old_roster with the one specified app.db.get_roster(r_old_id, old_roster); @@ -508,6 +508,7 @@ if (app.revision_selectors.size() == 0) app.require_workspace("try passing a --revision to start at"); + temp_node_id_source nis; set frontier; revision_id first_rid; @@ -537,7 +538,7 @@ roster_t old_roster, new_roster; if (app.revision_selectors.size() == 0) - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); else app.db.get_roster(first_rid, new_roster); ============================================================ --- cmd_list.cc d9d990cc36d224e4614b756ec10e4376bd55f1f8 +++ cmd_list.cc caa777cc1c76f7613237494d2d6ff71ad232fc4e @@ -311,9 +311,10 @@ ls_known(app_state & app, vector const & args) { roster_t old_roster, new_roster; + temp_node_id_source nis; app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, new_roster, app); @@ -370,7 +371,7 @@ app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, old_roster, new_roster, app); ============================================================ --- cmd_merging.cc ad2712f85748ce56f5b6a66b8daf10829f6e6077 +++ cmd_merging.cc 5b938e9490b4d30b4db85fd893d7049798452b04 @@ -61,7 +61,7 @@ // such. But it should work for now; revisit if performance is // intolerable. - get_base_and_current_roster_shape(*old_roster, working_roster, app); + get_base_and_current_roster_shape(*old_roster, working_roster, nis, app); update_current_roster_from_filesystem(working_roster, app); get_revision_id(r_old_id); ============================================================ --- cmd_ws_commit.cc 71698cbcbe710c826a68d81305555f3858a5be18 +++ cmd_ws_commit.cc 0eb0d600382530e3322fc941aeb221b313569de4 @@ -37,12 +37,13 @@ N_("revert file(s), dir(s) or entire workspace (\".\")"), OPT_DEPTH % OPT_EXCLUDE % OPT_MISSING) { + if (args.size() < 1) + throw usage(name); + + temp_node_id_source nis; roster_t old_roster, new_roster; cset included, excluded; - if (args.size() < 1) - throw usage(name); - app.require_workspace(); vector includes; @@ -74,7 +75,7 @@ excludes = app.exclude_patterns; } - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(includes, excludes, old_roster, new_roster, app); make_restricted_csets(old_roster, new_roster, included, excluded, mask); @@ -295,9 +296,10 @@ revision_id old_rev_id; revision_set rev; data tmp; + temp_node_id_source nis; app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, old_roster, new_roster, app); @@ -306,7 +308,6 @@ check_restricted_cset(old_roster, included); restricted_roster = old_roster; - temp_node_id_source nis; editable_roster_base er(restricted_roster, nis); included.apply_to(er); @@ -338,7 +339,7 @@ for (std::map >::const_iterator i = cs.deltas_applied.begin(); i != cs.deltas_applied.end(); ++i) - cout << "patched " << i->first << "\n"; + cout << "patched " << i->first << "\n"; } else { @@ -483,9 +484,10 @@ throw usage(name); roster_t old_roster, new_roster; + temp_node_id_source nis; app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); file_path path = file_path_external(idx(args,1)); @@ -577,11 +579,12 @@ revision_set restricted_rev; revision_id old_rev_id, restricted_rev_id; roster_t old_roster, new_roster, restricted_roster; + temp_node_id_source nis; cset included, excluded; app.make_branch_sticky(); app.require_workspace(); - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, old_roster, new_roster, app); @@ -590,7 +593,6 @@ check_restricted_cset(old_roster, included); restricted_roster = old_roster; - temp_node_id_source nis; editable_roster_base er(restricted_roster, nis); included.apply_to(er); ============================================================ --- commands.cc 48912315da0c339f01051cceddb303d3454070d6 +++ commands.cc 31247ea847e3a1702e069e468a140f9fe33aca16 @@ -246,9 +246,10 @@ if (!in_inodeprints_mode()) return; inodeprint_map ipm_new; + temp_node_id_source nis; roster_t old_roster, new_roster; - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); update_current_roster_from_filesystem(new_roster, app); node_map const & new_nodes = new_roster.all_nodes(); ============================================================ --- tests/t_log_dir.at 6301869868e3eefa8f879ec04a564f794d776327 +++ tests/t_log_dir.at 69ce550d87f599689b32bfe641affe76dce2fb0e @@ -1,12 +1,6 @@ AT_SETUP([log dir]) MTN_SETUP -# This test is a bug report -# log dir -R should only list revisions which change the things in or below dir -# log dir should only list revisions which change dir (note that this does not -# include things that change "ls dir", but only add/drop/rename/attr set on -# the dir itself) - ADD_FILE(foo, [foo ]) ADD_FILE(bar, [bar ============================================================ --- work.cc 6143fe5657ecc968d463609fea64f6d038deffaf +++ work.cc 974c732d3974dc1c349e6e62e76047482e17b22d @@ -55,9 +55,10 @@ void find_missing(app_state & app, vector const & args, path_set & missing) { + temp_node_id_source nis; roster_t old_roster, new_roster; - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, new_roster, app); @@ -87,7 +88,7 @@ path_set known; temp_node_id_source nis; - get_base_and_current_roster_shape(old_roster, new_roster, app); + get_base_and_current_roster_shape(old_roster, new_roster, nis, app); restriction mask(args, app.exclude_patterns, old_roster, new_roster, app); @@ -97,6 +98,7 @@ walk_tree(file_path(), u); } + class addition_builder : public tree_walker @@ -243,8 +245,9 @@ if (paths.empty()) return; + temp_node_id_source nis; roster_t base_roster, new_roster; - get_base_and_current_roster_shape(base_roster, new_roster, app); + get_base_and_current_roster_shape(base_roster, new_roster, nis, app); // we traverse the the paths backwards, so that we always hit deep paths // before shallow paths (because path_set is lexicographically sorted). @@ -636,13 +639,6 @@ cs.apply_to(er); } -// void -// get_current_restricted_roster(roster_t & ros, node_id_source & nis, app_state & app) -// { -// get_current_roster_shape(ros, nis, app); -// update_restricted_roster_from_filesystem(ros, app); -// } - void get_base_and_current_roster_shape(roster_t & base_roster, roster_t & current_roster, @@ -657,15 +653,6 @@ cs.apply_to(er); } -void -get_base_and_current_roster_shape(roster_t & base_roster, - roster_t & current_roster, - app_state & app) -{ - temp_node_id_source nis; - get_base_and_current_roster_shape(base_roster, current_roster, nis, app); -} - // user log file string const user_log_file_name("log"); ============================================================ --- work.hh 65b7ddb32efff3a94ccba37c4087914faea5bdaf +++ work.hh bda3ab59f09f20572d550a872a9208e3434206c5 @@ -116,10 +116,6 @@ node_id_source & nis, app_state & app); -void get_base_and_current_roster_shape(roster_t & base_roster, - roster_t & current_roster, - app_state & app); - // the "user log" is a file the user can edit as they program to record // changes they make to their source code. Upon commit the file is read // and passed to the edit_comment lua hook. If the commit is a success,