# # # patch "cert.hh" # from [3ee6329cb9a1eca97e2158f544e4898dbef9858a] # to [9b81b8443f3d45c85d2623756565883fdd59d0af] # # patch "cmd_list.cc" # from [305b7cc137feb662b98d8c1a1e010777aa8caa9f] # to [192b6b21e949c760e8bf345d51b453902f51040c] # # patch "cmd_merging.cc" # from [309788c82ac403caac9f9e8ea2abbef02199e7fd] # to [4d2141c112a6f9e588175ee9520f4d1533914b7c] # # patch "netsync.cc" # from [0fd3668fe9e588d34b5724f27cca14b0fbeab3e3] # to [efea972d3c4faf5363fc02affe28d4ba2eb400dc] # # patch "options_list.hh" # from [95142e845f79e17754c39ed6861a8b38391db68e] # to [6e0b19f09a56bb5e226fac43fd73fd91e1af9b73] # # patch "policy.cc" # from [cc6c327953b80828f672f5ad49c1a648a98fb9d2] # to [aa2c60f1678ea1104aee12f61f8225162b3b0f6a] # # patch "project.cc" # from [410dd35c88aa0cf517647b860094c99d875ebeb1] # to [353d9487fc43a25ea9b5ed609493d0837739c5fd] # # patch "selectors.cc" # from [9cb740643cd1500f15a6e5123119b0b5252cf304] # to [248b4df6a7de6b4582234ca930da381cc462218c] # ============================================================ --- cert.hh 3ee6329cb9a1eca97e2158f544e4898dbef9858a +++ cert.hh 9b81b8443f3d45c85d2623756565883fdd59d0af @@ -76,7 +76,7 @@ typedef boost::function const &, - hexenc const &, + revision_id const &, cert_name const &, cert_value const &)> trust_function; ============================================================ --- cmd_list.cc 305b7cc137feb662b98d8c1a1e010777aa8caa9f +++ cmd_list.cc 192b6b21e949c760e8bf345d51b453902f51040c @@ -322,7 +322,7 @@ CMD(epochs, "epochs", "", CMD_REF(list), else { branch_name branch = projects.translate_branch(i->first); - cout << i->second << ' ' << branch << '\n'; + cout << encode_hexenc(i->second.inner()()) << ' ' << branch << '\n'; } } } ============================================================ --- cmd_merging.cc 309788c82ac403caac9f9e8ea2abbef02199e7fd +++ cmd_merging.cc 4d2141c112a6f9e588175ee9520f4d1533914b7c @@ -659,8 +659,6 @@ CMD(merge_into_dir, "merge_into_dir", "" " to branch '%s' (head %s)\n") % src_branch % (*src_i) % dst_branch % (*dst_i)).str()); - % idx(args, 1) - % *dst_i).str()); dst_project.put_standard_certs_from_options(app.opts, app.lua, keys, ============================================================ --- netsync.cc 0fd3668fe9e588d34b5724f27cca14b0fbeab3e3 +++ netsync.cc efea972d3c4faf5363fc02affe28d4ba2eb400dc @@ -1974,6 +1974,7 @@ session::process_data_cmd(netcmd_item_ty " wanted '%s' got '%s'") % hitem() % keyid % hitem() % encode_hexenc(tmp())); + } if (projects.db.put_key(keyid, pub)) written_keys.push_back(keyid); else ============================================================ --- options_list.hh 95142e845f79e17754c39ed6861a8b38391db68e +++ options_list.hh 6e0b19f09a56bb5e226fac43fd73fd91e1af9b73 @@ -63,7 +63,7 @@ OPTION(globals, positionals, true, "--", } #endif -typedef std::map policy_revision_arg_map; +typedef std::map > policy_revision_arg_map; GOPT(policy_revisions, "policy-revision", policy_revision_arg_map, , gettext_noop("address@hidden, use a specific policy revision")) #ifdef option_bodies @@ -72,7 +72,7 @@ GOPT(policy_revisions, "policy-revision" if (at == std::string::npos) throw bad_arg_internal(F("no '@' found").str()); branch_prefix bp(arg.substr(0, at)); - revision_id rid(arg.substr(at+1)); + hexenc rid(arg.substr(at+1)); policy_revisions.insert(std::make_pair(bp, rid)); } #endif ============================================================ --- policy.cc cc6c327953b80828f672f5ad49c1a648a98fb9d2 +++ policy.cc aa2c60f1678ea1104aee12f61f8225162b3b0f6a @@ -104,7 +104,7 @@ policy_branch::init(data const & spec) pa.sym(); string rid; pa.hex(rid); - rev_id = revision_id(rid); + rev_id = revision_id(decode_hexenc(rid)); } else { @@ -240,7 +240,7 @@ namespace cert_value branch; set const & trusted_signers; bool is_trusted(set const & signers, - hexenc const & rid, + revision_id const & rid, cert_name const & name, cert_value const & value) { @@ -279,7 +279,7 @@ namespace cert_value branch; set const & trusted_signers; bool is_trusted(set const & signers, - hexenc const & rid, + revision_id const & rid, cert_name const & name, cert_value const & value) { ============================================================ --- project.cc 410dd35c88aa0cf517647b860094c99d875ebeb1 +++ project.cc 353d9487fc43a25ea9b5ed609493d0837739c5fd @@ -580,14 +580,16 @@ project_set::project_set(database & db, db))); } } - for (map::const_iterator + for (map >::const_iterator i = opts.policy_revisions.begin(); i != opts.policy_revisions.end(); ++i) { - projects.insert(make_pair(i->first, - project_t(i->first, - i->second, - db))); + id rid; + decode_hexenc(i->second, rid); + projects.insert(make_pair(i->first, + project_t(i->first, + revision_id(rid), + db))); } if (projects.empty()) { ============================================================ --- selectors.cc 9cb740643cd1500f15a6e5123119b0b5252cf304 +++ selectors.cc 248b4df6a7de6b4582234ca930da381cc462218c @@ -49,7 +49,7 @@ static void typedef vector > selector_list; static void -decode_selector(project_t & project, +decode_selector(project_set & projects, options const & opts, lua_hooks & lua, string const & orig_sel, @@ -181,7 +181,7 @@ decode_selector(project_t & project, parent_map parents; set parent_ids; - work.get_parent_rosters(project.db, parents); + work.get_parent_rosters(projects.db, parents); for (parent_map::const_iterator i = parents.begin(); i != parents.end(); ++i) @@ -189,7 +189,7 @@ decode_selector(project_t & project, parent_ids.insert(i->first); } - diagnose_ambiguous_expansion(project, "p:", parent_ids); + diagnose_ambiguous_expansion(projects, "p:", parent_ids); sel = (* parent_ids.begin()).inner()(); } else @@ -201,7 +201,7 @@ static void } static void -parse_selector(project_t & project, +parse_selector(project_set & projects, options const & opts, lua_hooks & lua, string const & str, selector_list & sels) @@ -230,7 +230,7 @@ parse_selector(project_t & project, string sel; selector_type type = sel_unknown; - decode_selector(project, opts, lua, *i, type, sel); + decode_selector(projects, opts, lua, *i, type, sel); sels.push_back(make_pair(type, sel)); } } @@ -379,7 +379,7 @@ complete(options const & opts, lua_hooks set & completions) { selector_list sels; - parse_selector(project, opts, lua, str, sels); + parse_selector(projects, opts, lua, str, sels); // avoid logging if there's no expansion to be done if (sels.size() == 1 @@ -434,7 +434,7 @@ expand_selector(options const & opts, lu set & completions) { selector_list sels; - parse_selector(project, opts, lua, str, sels); + parse_selector(projects, opts, lua, str, sels); // avoid logging if there's no expansion to be done if (sels.size() == 1