# # # patch "asciik.cc" # from [b1a9fa1de0c7dff476ff00e112bb19cb3af3f4fc] # to [abb39b3b7d80e667bdf6159233ab2cd531d986f7] # # patch "cmd.hh" # from [543a974c4544509faa850e88465a65da6a90db29] # to [52377d3932566abc191667df0ebc1d4f50265ecd] # # patch "cmd_automate.cc" # from [92da537e5989874f8efd54423dd81b4d46556a1c] # to [b27ebd32c5e0d86f94f3e56090b14b33fe5c46ba] # # patch "cmd_db.cc" # from [c7b504ae0eb20d2600eb6f3fd45b0e1be2af0bd5] # to [92cbc7d5943e8b896749ad4f86a05a7437bed50e] # # patch "cmd_diff_log.cc" # from [44b7952434f2b0e44f35b958291a2fa8af79c03f] # to [4eaabe954978140ffe657dfb066d7f326e48c228] # # patch "cmd_files.cc" # from [b563f395a431c1471363c93099b44ede69bcc65b] # to [93c3ed94be247bbcf351e84eaa0d2d07ab9ad9b0] # # patch "cmd_key_cert.cc" # from [283a1ad656d29a2845001c076653214369952c76] # to [40deeec0106e65fcd21d016891cba1da3150daab] # # patch "cmd_list.cc" # from [a71212055c82c33b7f6c47117b449196f413e7ed] # to [de1fb6281ca1d83e6a1b209a44d67c89c01473b2] # # patch "cmd_merging.cc" # from [02a90c3f0193bc5739a547795b9afc770400bf5b] # to [45290b180396c477923e8b55fcf72b01cdeb6da1] # # patch "cmd_netsync.cc" # from [8ced2efe531dc5805532ba6eb98581660514542a] # to [abf85cf8105f97e7f68eae1370e00bb8e1cefba7] # # patch "cmd_othervcs.cc" # from [683cf3e1677586855cb5f6e8601997b588ff0535] # to [816941fb30990435c2c79b26a9916ebf633c6a94] # # patch "cmd_packet.cc" # from [84a8725a5a912ad991c8d94948172ce83ae9925e] # to [fddb5ffaa9ce5478cdcdd18e94d5a2d4f7008766] # # patch "cmd_ws_commit.cc" # from [e7e2a3a54782207b9ccf3afc9aaa25bd1811f1a3] # to [7b2329c3d0abef5843a808bc6358ab99c71bfaac] # # patch "commands.cc" # from [2fb6458737c936ab44a8c3b21beb6d241b1e42ca] # to [f1e78f7e76f517a0011691ac5cad18b6d76a62ac] # # patch "revision.cc" # from [b11b83b54d4b07e23ff3c30749008f300dd0f815] # to [44db85a351771265506f44edbf15b7ffbc7692ef] # # patch "sha1.cc" # from [0652e123e555bff72a7bae1e7eb9e2d737eb3a8a] # to [60cca14abc15c37e5c93959e0bc189cecda2e705] # ============================================================ --- asciik.cc b1a9fa1de0c7dff476ff00e112bb19cb3af3f4fc +++ asciik.cc abb39b3b7d80e667bdf6159233ab2cd531d986f7 @@ -365,7 +365,7 @@ asciik::print(revision_id const & rev, } } -CMD(asciik, "", CMD_REF(debug), N_("SELECTOR"), +CMD(asciik, "asciik", "", CMD_REF(debug), N_("SELECTOR"), N_("Prints an ASCII representation of the revisions' graph"), N_(""), options::opts::none) ============================================================ --- cmd.hh 543a974c4544509faa850e88465a65da6a90db29 +++ cmd.hh 52377d3932566abc191667df0ebc1d4f50265ecd @@ -162,12 +162,12 @@ namespace commands { \ #define CMD_REF(C) ((commands::command *)&(commands::C ## _cmd)) -#define _CMD2(C, aliases, parent, hidden, params, abstract, desc, opts) \ +#define _CMD2(C, name, aliases, parent, hidden, params, abstract, desc, opts) \ namespace commands { \ class cmd_ ## C : public command \ { \ public: \ - cmd_ ## C() : command(#C, aliases, parent, hidden, params, \ + cmd_ ## C() : command(name, aliases, parent, hidden, params, \ abstract, desc, true, \ options::options_type() | opts) \ {} \ @@ -181,18 +181,18 @@ void commands::cmd_ ## C::exec(app_state command_id const & execid, \ args_vector const & args) -#define CMD(C, aliases, parent, params, abstract, desc, opts) \ - _CMD2(C, aliases, parent, false, params, abstract, desc, opts) +#define CMD(C, name, aliases, parent, params, abstract, desc, opts) \ + _CMD2(C, name, aliases, parent, false, params, abstract, desc, opts) -#define CMD_HIDDEN(C, aliases, parent, params, abstract, desc, opts) \ - _CMD2(C, aliases, parent, true, params, abstract, desc, opts) +#define CMD_HIDDEN(C, name, aliases, parent, params, abstract, desc, opts) \ + _CMD2(C, name, aliases, parent, true, params, abstract, desc, opts) -#define CMD_GROUP(C, aliases, parent, abstract, desc) \ +#define CMD_GROUP(C, name, aliases, parent, abstract, desc) \ namespace commands { \ class cmd_ ## C : public command \ { \ public: \ - cmd_ ## C() : command(#C, aliases, parent, false, "", abstract, \ + cmd_ ## C() : command(name, aliases, parent, false, "", abstract,\ desc, true, \ options::options_type()) \ {} \ @@ -212,12 +212,13 @@ void commands::cmd_ ## C::exec(app_state // Use this for commands that should specifically _not_ look for an // _MTN dir and load options from it. -#define CMD_NO_WORKSPACE(C, aliases, parent, params, abstract, desc, opts) \ +#define CMD_NO_WORKSPACE(C, name, aliases, parent, params, abstract, \ + desc, opts) \ namespace commands { \ class cmd_ ## C : public command \ { \ public: \ - cmd_ ## C() : command(#C, aliases, parent, false, params, \ + cmd_ ## C() : command(name, aliases, parent, false, params, \ abstract, desc, false, \ options::options_type() | opts) \ {} \ ============================================================ --- cmd_automate.cc 92da537e5989874f8efd54423dd81b4d46556a1c +++ cmd_automate.cc b27ebd32c5e0d86f94f3e56090b14b33fe5c46ba @@ -22,7 +22,7 @@ using std::vector; using std::string; using std::vector; -CMD_GROUP(automate, "", CMD_REF(automation), +CMD_GROUP(automate, "automate", "", CMD_REF(automation), N_("Interface for scripted execution"), N_("")); ============================================================ --- cmd_db.cc c7b504ae0eb20d2600eb6f3fd45b0e1be2af0bd5 +++ cmd_db.cc 92cbc7d5943e8b896749ad4f86a05a7437bed50e @@ -24,7 +24,7 @@ using std::string; using std::set; using std::string; -CMD_GROUP(db, "", CMD_REF(database), +CMD_GROUP(db, "db", "", CMD_REF(database), N_("Deals with the database"), N_("")); @@ -49,7 +49,7 @@ kill_rev_locally(app_state& app, string app.db.delete_existing_rev_and_certs(ident); } -CMD(init, "", CMD_REF(db), "", +CMD(init, "init", "", CMD_REF(db), "", N_("Initializes a database"), N_("Creates a new database file and initializes it."), options::opts::none) @@ -60,7 +60,7 @@ CMD(init, "", CMD_REF(db), "", app.db.initialize(); } -CMD(info, "", CMD_REF(db), "", +CMD(info, "info", "", CMD_REF(db), "", N_("Shows information about the database"), N_(""), options::opts::none) @@ -71,7 +71,7 @@ CMD(info, "", CMD_REF(db), "", app.db.info(cout); } -CMD(version, "", CMD_REF(db), "", +CMD(version, "version", "", CMD_REF(db), "", N_("Shows the database's version"), N_(""), options::opts::none) @@ -82,7 +82,7 @@ CMD(version, "", CMD_REF(db), "", app.db.version(cout); } -CMD(dump, "", CMD_REF(db), "", +CMD(dump, "dump", "", CMD_REF(db), "", N_("Dumps the contents of the database"), N_("Generates a list of SQL instructions that represent the whole " "contents of the database. The resulting output is useful to later " @@ -95,7 +95,7 @@ CMD(dump, "", CMD_REF(db), "", app.db.dump(cout); } -CMD(load, "", CMD_REF(db), "", +CMD(load, "load", "", CMD_REF(db), "", N_("Loads the contents of the database"), N_("Reads a list of SQL instructions that regenerate the contents of " "the database. This is supposed to be used in conjunction with the " @@ -108,7 +108,7 @@ CMD(load, "", CMD_REF(db), "", app.db.load(cin); } -CMD(migrate, "", CMD_REF(db), "", +CMD(migrate, "migrate", "", CMD_REF(db), "", N_("Migrates the database to a newer schema"), N_("Updates the database's internal schema to the most recent one. " "Needed to automatically resolve incompatibilities that may be " @@ -121,7 +121,7 @@ CMD(migrate, "", CMD_REF(db), "", app.db.migrate(); } -CMD(execute, "", CMD_REF(db), "", +CMD(execute, "execute", "", CMD_REF(db), "", N_("Executes an SQL command on the database"), N_("Directly executes the given SQL command on the database"), options::opts::none) @@ -132,7 +132,7 @@ CMD(execute, "", CMD_REF(db), "", app.db.debug(idx(args, 0)(), cout); } -CMD(kill_rev_locally, "", CMD_REF(db), "ID", +CMD(kill_rev_locally, "kill_rev_locally", "", CMD_REF(db), "ID", N_("Kills a revision from the local database"), N_(""), options::opts::none) @@ -143,7 +143,8 @@ CMD(kill_rev_locally, "", CMD_REF(db), " kill_rev_locally(app,idx(args, 0)()); } -CMD(kill_branch_certs_locally, "", CMD_REF(db), "BRANCH", +CMD(kill_branch_certs_locally, "kill_branch_certs_locally", "", CMD_REF(db), + "BRANCH", N_("Kills branch certificates from the local database"), N_(""), options::opts::none) @@ -154,7 +155,7 @@ CMD(kill_branch_certs_locally, "", CMD_R app.db.delete_branch_named(cert_value(idx(args, 0)())); } -CMD(kill_tag_locally, "", CMD_REF(db), "TAG", +CMD(kill_tag_locally, "kill_tag_locally", "", CMD_REF(db), "TAG", N_("Kills a tag from the local database"), N_(""), options::opts::none) @@ -165,7 +166,7 @@ CMD(kill_tag_locally, "", CMD_REF(db), " app.db.delete_tag_named(cert_value(idx(args, 0)())); } -CMD(check, "", CMD_REF(db), "", +CMD(check, "check", "", CMD_REF(db), "", N_("Does some sanity checks on the database"), N_("Ensures that the database is consistent by issuing multiple " "checks."), @@ -177,7 +178,7 @@ CMD(check, "", CMD_REF(db), "", check_db(app); } -CMD(changesetify, "", CMD_REF(db), "", +CMD(changesetify, "changesetify", "", CMD_REF(db), "", N_("Converts the database to the changeset format"), N_(""), options::opts::none) @@ -188,7 +189,7 @@ CMD(changesetify, "", CMD_REF(db), "", build_changesets_from_manifest_ancestry(app); } -CMD(rosterify, "", CMD_REF(db), "", +CMD(rosterify, "rosterify", "", CMD_REF(db), "", N_("Converst the database to the rosters format"), N_(""), options::opts::drop_attr) @@ -199,7 +200,7 @@ CMD(rosterify, "", CMD_REF(db), "", build_roster_style_revs_from_manifest_style_revs(app); } -CMD(regenerate_caches, "", CMD_REF(db), "", +CMD(regenerate_caches, "regenerate_caches", "", CMD_REF(db), "", N_("Regenerates the caches stored in the database"), N_(""), options::opts::none) @@ -210,7 +211,7 @@ CMD(regenerate_caches, "", CMD_REF(db), regenerate_caches(app); } -CMD_HIDDEN(clear_epoch, "", CMD_REF(db), "BRANCH", +CMD_HIDDEN(clear_epoch, "clear_epoch", "", CMD_REF(db), "BRANCH", N_("Clears the database's epoch"), N_(""), options::opts::none) @@ -221,7 +222,7 @@ CMD_HIDDEN(clear_epoch, "", CMD_REF(db), app.db.clear_epoch(branch_name(idx(args, 0)())); } -CMD(set_epoch, "", CMD_REF(db), "BRANCH EPOCH", +CMD(set_epoch, "set_epoch", "", CMD_REF(db), "BRANCH EPOCH", N_("Sets the database's epoch"), N_(""), options::opts::none) @@ -235,7 +236,7 @@ CMD(set_epoch, "", CMD_REF(db), "BRANCH app.db.set_epoch(branch_name(idx(args, 0)()), ed); } -CMD(set, "", CMD_REF(variables), N_("DOMAIN NAME VALUE"), +CMD(set, "set", "", CMD_REF(variables), N_("DOMAIN NAME VALUE"), N_("Sets a database variable"), N_("This command modifies (or adds if it did not exist before) the " "variable named NAME, stored in the database, and sets it to the " @@ -254,7 +255,7 @@ CMD(set, "", CMD_REF(variables), N_("DOM app.db.set_var(make_pair(d, n), v); } -CMD(unset, "", CMD_REF(variables), N_("DOMAIN NAME"), +CMD(unset, "unset", "", CMD_REF(variables), N_("DOMAIN NAME"), N_("Unsets a database variable"), N_("This command removes the variable NAME from domain DOMAIN, which" "was previously stored in the database."), @@ -273,7 +274,8 @@ CMD(unset, "", CMD_REF(variables), N_("D app.db.clear_var(k); } -CMD(complete, "", CMD_REF(informative), N_("(revision|file|key) PARTIAL-ID"), +CMD(complete, "complete", "", CMD_REF(informative), + N_("(revision|file|key) PARTIAL-ID"), N_("Completes a partial identifier"), N_(""), options::opts::verbose) @@ -322,7 +324,8 @@ CMD(complete, "", CMD_REF(informative), throw usage(execid); } -CMD_HIDDEN(test_migration_step, "", CMD_REF(db), "SCHEMA", +CMD_HIDDEN(test_migration_step, "test_migration_step", "", CMD_REF(db), + "SCHEMA", N_("Runs one step of migration on the specified database"), N_("This command migrates the given database from the specified " "schema in SCHEMA to its successor."), ============================================================ --- cmd_diff_log.cc 44b7952434f2b0e44f35b958291a2fa8af79c03f +++ cmd_diff_log.cc 4eaabe954978140ffe657dfb066d7f326e48c228 @@ -468,7 +468,7 @@ prepare_diff(cset & included, revheader = header.str(); } -CMD(diff, "", CMD_REF(informative), N_("[PATH]..."), +CMD(diff, "diff", "", CMD_REF(informative), N_("[PATH]..."), N_("Shows current differences"), N_("Compares the current tree with the files in the repository and " "prints the differences on the standard output.\n" @@ -603,7 +603,7 @@ typedef priority_queue >, rev_cmp> frontier_t; -CMD(log, "", CMD_REF(informative), N_("[FILE] ..."), +CMD(log, "log", "", CMD_REF(informative), N_("[FILE] ..."), N_("Prints history in reverse order"), N_("This command prints history in reverse order, filtering it by " "FILE if given. If one or more revisions are given, uses them as " ============================================================ --- cmd_files.cc b563f395a431c1471363c93099b44ede69bcc65b +++ cmd_files.cc 93c3ed94be247bbcf351e84eaa0d2d07ab9ad9b0 @@ -26,7 +26,7 @@ using std::vector; // fload, fmerge, and fdiff are simple commands for debugging the line // merger. -CMD(fload, "", CMD_REF(debug), "", +CMD(fload, "fload", "", CMD_REF(debug), "", N_("Loads a file's contents into the database"), N_(""), options::opts::none) @@ -44,7 +44,7 @@ CMD(fload, "", CMD_REF(debug), "", guard.commit(); } -CMD(fmerge, "", CMD_REF(debug), N_(" "), +CMD(fmerge, "fmerge", "", CMD_REF(debug), N_(" "), N_("Merges 3 files and outputs the result"), N_(""), options::opts::none) @@ -82,7 +82,7 @@ CMD(fmerge, "", CMD_REF(debug), N_("content); } -CMD(cat, "", CMD_REF(informative), +CMD(cat, "cat", "", CMD_REF(informative), N_("FILENAME"), N_("Prints a file from the database"), N_("Fetches the given file FILENAME from the database and prints it " ============================================================ --- cmd_key_cert.cc 283a1ad656d29a2845001c076653214369952c76 +++ cmd_key_cert.cc 40deeec0106e65fcd21d016891cba1da3150daab @@ -29,7 +29,7 @@ using Botan::RSA_PrivateKey; using Botan::Pipe; using Botan::RSA_PrivateKey; -CMD(genkey, "", CMD_REF(key_and_cert), N_("KEYID"), +CMD(genkey, "genkey", "", CMD_REF(key_and_cert), N_("KEYID"), N_("Generates an RSA key-pair"), N_(""), options::opts::none) @@ -57,7 +57,7 @@ CMD(genkey, "", CMD_REF(key_and_cert), N app.keys.put_key_pair(ident, kp); } -CMD(dropkey, "", CMD_REF(key_and_cert), N_("KEYID"), +CMD(dropkey, "dropkey", "", CMD_REF(key_and_cert), N_("KEYID"), N_("Drops a public and/or private key"), N_(""), options::opts::none) @@ -99,7 +99,7 @@ CMD(dropkey, "", CMD_REF(key_and_cert), N(key_deleted, fmt % idx(args, 0)()); } -CMD(passphrase, "", CMD_REF(key_and_cert), N_("KEYID"), +CMD(passphrase, "passphrase", "", CMD_REF(key_and_cert), N_("KEYID"), N_("Changes the passphrase of a private RSA key"), N_(""), options::opts::none) @@ -121,7 +121,7 @@ CMD(passphrase, "", CMD_REF(key_and_cert P(F("passphrase changed")); } -CMD(ssh_agent_export, "", CMD_REF(key_and_cert), +CMD(ssh_agent_export, "ssh_agent_export", "", CMD_REF(key_and_cert), N_("[FILENAME]"), N_("Exports a private key for use with ssh-agent"), N_(""), @@ -161,7 +161,7 @@ CMD(ssh_agent_export, "", CMD_REF(key_an } } -CMD(ssh_agent_add, "", CMD_REF(key_and_cert), "", +CMD(ssh_agent_add, "ssh_agent_add", "", CMD_REF(key_and_cert), "", N_("Adds a private key to ssh-agent"), N_(""), options::opts::none) @@ -178,7 +178,8 @@ CMD(ssh_agent_add, "", CMD_REF(key_and_c app.agent.add_identity(*priv, id()); } -CMD(cert, "", CMD_REF(key_and_cert), N_("REVISION CERTNAME [CERTVAL]"), +CMD(cert, "cert", "", CMD_REF(key_and_cert), + N_("REVISION CERTNAME [CERTVAL]"), N_("Creates a certificate for a revision"), N_(""), options::opts::none) @@ -211,7 +212,7 @@ CMD(cert, "", CMD_REF(key_and_cert), N_( guard.commit(); } -CMD(trusted, "", CMD_REF(key_and_cert), +CMD(trusted, "trusted", "", CMD_REF(key_and_cert), N_("REVISION NAME VALUE SIGNER1 [SIGNER2 [...]]"), N_("Tests whether a hypothetical certificate would be trusted"), N_("The current settings are used to run the test."), @@ -259,7 +260,7 @@ CMD(trusted, "", CMD_REF(key_and_cert), << '\n'; // final newline is kept out of the translation } -CMD(tag, "", CMD_REF(review), N_("REVISION TAGNAME"), +CMD(tag, "tag", "", CMD_REF(review), N_("REVISION TAGNAME"), N_("Puts a symbolic tag certificate on a revision"), N_(""), options::opts::none) @@ -273,7 +274,8 @@ CMD(tag, "", CMD_REF(review), N_("REVISI } -CMD(testresult, "", CMD_REF(review), N_("ID (pass|fail|true|false|yes|no|1|0)"), +CMD(testresult, "testresult", "", CMD_REF(review), + N_("ID (pass|fail|true|false|yes|no|1|0)"), N_("Notes the results of running a test on a revision"), N_(""), options::opts::none) @@ -287,7 +289,7 @@ CMD(testresult, "", CMD_REF(review), N_( } -CMD(approve, "", CMD_REF(review), N_("REVISION"), +CMD(approve, "approve", "", CMD_REF(review), N_("REVISION"), N_("Approves a particular revision"), N_(""), options::opts::branch) @@ -302,7 +304,7 @@ CMD(approve, "", CMD_REF(review), N_("RE app.get_project().put_revision_in_branch(r, app.opts.branchname); } -CMD(comment, "", CMD_REF(review), N_("REVISION [COMMENT]"), +CMD(comment, "comment", "", CMD_REF(review), N_("REVISION [COMMENT]"), N_("Comments on a particular revision"), N_(""), options::opts::none) ============================================================ --- cmd_list.cc a71212055c82c33b7f6c47117b449196f413e7ed +++ cmd_list.cc de1fb6281ca1d83e6a1b209a44d67c89c01473b2 @@ -39,14 +39,14 @@ using std::vector; using std::string; using std::vector; -CMD_GROUP(list, "ls", CMD_REF(informative), +CMD_GROUP(list, "list", "ls", CMD_REF(informative), N_("Shows database objects"), N_("This command is used to query information from the database. " "It shows database objects, or the current workspace manifest, " "or known, unknown, intentionally ignored, missing, or " "changed-state files.")); -CMD(certs, "", CMD_REF(list), "ID", +CMD(certs, "certs", "", CMD_REF(list), "ID", N_("Lists certificates attached to an identifier"), N_(""), options::opts::depth | options::opts::exclude) @@ -149,7 +149,7 @@ CMD(certs, "", CMD_REF(list), "ID", guard.commit(); } -CMD(keys, "", CMD_REF(list), "[PATTERN]", +CMD(keys, "keys", "", CMD_REF(list), "[PATTERN]", N_("Lists keys that match a pattern"), N_(""), options::opts::depth | options::opts::exclude) @@ -243,7 +243,7 @@ CMD(keys, "", CMD_REF(list), "[PATTERN]" } } -CMD(branches, "", CMD_REF(list), "[PATTERN]", +CMD(branches, "branches", "", CMD_REF(list), "[PATTERN]", N_("Lists branches in the database that match a pattern"), N_(""), options::opts::depth | options::opts::exclude) @@ -271,7 +271,7 @@ CMD(branches, "", CMD_REF(list), "[PATTE } } -CMD(epochs, "", CMD_REF(list), "[BRANCH [...]]", +CMD(epochs, "epochs", "", CMD_REF(list), "[BRANCH [...]]", N_("Lists the current epoch of branches that match a pattern"), N_(""), options::opts::depth | options::opts::exclude) @@ -301,7 +301,7 @@ CMD(epochs, "", CMD_REF(list), "[BRANCH } } -CMD(tags, "", CMD_REF(list), "", +CMD(tags, "tags", "", CMD_REF(list), "", N_("Lists all tags in the database"), N_(""), options::opts::depth | options::opts::exclude) @@ -317,7 +317,7 @@ CMD(tags, "", CMD_REF(list), "", } } -CMD(vars, "", CMD_REF(list), "[DOMAIN]", +CMD(vars, "vars", "", CMD_REF(list), "[DOMAIN]", N_("Lists variables in the whole database or a domain"), N_(""), options::opts::depth | options::opts::exclude) @@ -351,7 +351,7 @@ CMD(vars, "", CMD_REF(list), "[DOMAIN]", } } -CMD(known, "", CMD_REF(list), "", +CMD(known, "known", "", CMD_REF(list), "", N_("Lists workspace files that belong to the current branch"), N_(""), options::opts::depth | options::opts::exclude) @@ -393,7 +393,7 @@ CMD(known, "", CMD_REF(list), "", } } -CMD(unknown, "ignored", CMD_REF(list), "", +CMD(unknown, "unknown", "ignored", CMD_REF(list), "", N_("Lists workspace files that do not belong to the current branch"), N_(""), options::opts::depth | options::opts::exclude) @@ -425,7 +425,7 @@ CMD(unknown, "ignored", CMD_REF(list), " } } -CMD(missing, "", CMD_REF(list), "", +CMD(missing, "missing", "", CMD_REF(list), "", N_("Lists files that belong to the branch but are not in the workspace"), N_(""), options::opts::depth | options::opts::exclude) @@ -449,7 +449,7 @@ CMD(missing, "", CMD_REF(list), "", } -CMD(changed, "", CMD_REF(list), "", +CMD(changed, "changed", "", CMD_REF(list), "", N_("Lists files that have changed with respect to the current revision"), N_(""), options::opts::depth | options::opts::exclude) ============================================================ --- cmd_merging.cc 02a90c3f0193bc5739a547795b9afc770400bf5b +++ cmd_merging.cc 45290b180396c477923e8b55fcf72b01cdeb6da1 @@ -127,7 +127,7 @@ pick_branch_for_update(revision_id chose return switched_branch; } -CMD(update, "", CMD_REF(workspace), "", +CMD(update, "update", "", CMD_REF(workspace), "", N_("Updates the workspace"), N_("This command modifies your workspace to be based off of a " "different revision, preserving uncommitted changes as it does so. " @@ -330,7 +330,7 @@ merge_two(revision_id const & left, revi // since a single 'merge' command may perform arbitrarily many actual merges. // (Possibility: append the --message/--message-file text to the synthetic // log message constructed in merge_two().) -CMD(merge, "", CMD_REF(tree), "", +CMD(merge, "merge", "", CMD_REF(tree), "", N_("Merges unmerged heads of a branch"), N_(""), options::opts::branch | options::opts::date | options::opts::author) @@ -431,7 +431,8 @@ CMD(merge, "", CMD_REF(tree), "", P(F("note: your workspaces have not been updated")); } -CMD(propagate, "", CMD_REF(tree), N_("SOURCE-BRANCH DEST-BRANCH"), +CMD(propagate, "propagate", "", CMD_REF(tree), + N_("SOURCE-BRANCH DEST-BRANCH"), N_("Merges from one branch to another asymmetrically"), N_(""), options::opts::date | options::opts::author | options::opts::message | options::opts::msgfile) @@ -443,7 +444,8 @@ CMD(propagate, "", CMD_REF(tree), N_("SO process(app, make_command_id("tree merge_into_dir"), a); } -CMD(merge_into_dir, "", CMD_REF(tree), N_("SOURCE-BRANCH DEST-BRANCH DIR"), +CMD(merge_into_dir, "merge_into_dir", "", CMD_REF(tree), + N_("SOURCE-BRANCH DEST-BRANCH DIR"), N_("Merges one branch into a subdirectory in another branch"), N_(""), options::opts::date | options::opts::author | options::opts::message | options::opts::msgfile) @@ -600,7 +602,7 @@ CMD(merge_into_dir, "", CMD_REF(tree), N } } -CMD(merge_into_workspace, "", CMD_REF(tree), +CMD(merge_into_workspace, "merge_into_workspace", "", CMD_REF(tree), N_("OTHER-REVISION"), N_("Merges a revision into the current workspace's base revision"), N_("Merges OTHER-REVISION into the current workspace's base revision, " @@ -695,7 +697,7 @@ CMD(merge_into_workspace, "", CMD_REF(tr "[right] %s\n") % left_id % right_id); } -CMD(explicit_merge, "", CMD_REF(tree), +CMD(explicit_merge, "explicit_merge", "", CMD_REF(tree), N_("LEFT-REVISION RIGHT-REVISION DEST-BRANCH"), N_("Merges two explicitly given revisions"), N_("The results of the merge are placed on the branch specified by " @@ -722,7 +724,7 @@ CMD(explicit_merge, "", CMD_REF(tree), merge_two(left, right, branch, string("explicit merge"), app); } -CMD(show_conflicts, "", CMD_REF(informative), N_("REV REV"), +CMD(show_conflicts, "show_conflicts", "", CMD_REF(informative), N_("REV REV"), N_("Shows what conflicts need resolution between two revisions"), N_("The conflicts are calculated based on the two revisions given in " "the REV parameters."), @@ -764,7 +766,7 @@ CMD(show_conflicts, "", CMD_REF(informat % result.directory_loop_conflicts.size()); } -CMD(pluck, "", CMD_REF(workspace), N_("[-r FROM] -r TO [PATH...]"), +CMD(pluck, "pluck", "", CMD_REF(workspace), N_("[-r FROM] -r TO [PATH...]"), N_("Applies changes made at arbitrary places in history"), N_("This command takes changes made at any point in history, and " "edits your current workspace to include those changes. The end result " @@ -931,7 +933,7 @@ CMD(pluck, "", CMD_REF(workspace), N_("[ } } -CMD(heads, "", CMD_REF(tree), "", +CMD(heads, "heads", "", CMD_REF(tree), "", N_("Shows unmerged head revisions of a branch"), N_(""), options::opts::branch) @@ -957,7 +959,7 @@ CMD(heads, "", CMD_REF(tree), "", cout << describe_revision(app, *i) << '\n'; } -CMD(get_roster, "", CMD_REF(debug), N_("[REVID]"), +CMD(get_roster, "get_roster", "", CMD_REF(debug), N_("[REVID]"), N_("Dumps the roster associated with a given identifier"), N_("If no REVID is given, the workspace is used."), options::opts::none) ============================================================ --- cmd_netsync.cc 8ced2efe531dc5805532ba6eb98581660514542a +++ cmd_netsync.cc abf85cf8105f97e7f68eae1370e00bb8e1cefba7 @@ -121,7 +121,8 @@ extract_patterns(args_vector const & arg } } -CMD(push, "", CMD_REF(network), N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), +CMD(push, "push", "", CMD_REF(network), + N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), N_("Pushes branches to a netsync server"), N_("This will push all branches that match the pattern given in PATTERN " "to the netsync server at the address ADDRESS."), @@ -138,7 +139,8 @@ CMD(push, "", CMD_REF(network), N_("[ADD include_pattern, exclude_pattern, app); } -CMD(pull, "", CMD_REF(network), N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), +CMD(pull, "pull", "", CMD_REF(network), + N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), N_("Pulls branches from a netsync server"), N_("This pulls all branches that match the pattern given in PATTERN " "from the netsync server at the address ADDRESS."), @@ -156,7 +158,8 @@ CMD(pull, "", CMD_REF(network), N_("[ADD include_pattern, exclude_pattern, app); } -CMD(sync, "", CMD_REF(network), N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), +CMD(sync, "sync", "", CMD_REF(network), + N_("[ADDRESS[:PORTNUMBER] [PATTERN ...]]"), N_("Synchronizes branches with a netsync server"), N_("This synchronizes branches that match the pattern given in PATTERN " "with the netsync server at the address ADDRESS."), @@ -200,7 +203,8 @@ private: system_path dir; }; -CMD(clone, "", CMD_REF(network), N_("ADDRESS[:PORTNUMBER] [DIRECTORY]"), +CMD(clone, "clone", "", CMD_REF(network), + N_("ADDRESS[:PORTNUMBER] [DIRECTORY]"), N_("Checks out a revision from remote a database into a directory"), N_("If a revision is given, that's the one that will be checked out. " "Otherwise, it will be the head of the branch supplied. " @@ -387,7 +391,7 @@ private: system_path path; }; -CMD_NO_WORKSPACE(serve, "", CMD_REF(network), "", +CMD_NO_WORKSPACE(serve, "serve", "", CMD_REF(network), "", N_("Serves the database to connecting clients"), N_(""), options::opts::bind | options::opts::pidfile | ============================================================ --- cmd_othervcs.cc 683cf3e1677586855cb5f6e8601997b588ff0535 +++ cmd_othervcs.cc 816941fb30990435c2c79b26a9916ebf633c6a94 @@ -13,7 +13,7 @@ using std::vector; using std::vector; -CMD(rcs_import, "", CMD_REF(debug), N_("RCSFILE..."), +CMD(rcs_import, "rcs_import", "", CMD_REF(debug), N_("RCSFILE..."), N_("Parses versions in RCS files"), N_("This command doesn't reconstruct or import revisions. " "You probably want to use cvs_import."), @@ -30,7 +30,7 @@ CMD(rcs_import, "", CMD_REF(debug), N_(" } -CMD(cvs_import, "", CMD_REF(rcs), N_("CVSROOT"), +CMD(cvs_import, "cvs_import", "", CMD_REF(rcs), N_("CVSROOT"), N_("Imports all versions in a CVS repository"), N_(""), options::opts::branch) ============================================================ --- cmd_packet.cc 84a8725a5a912ad991c8d94948172ce83ae9925e +++ cmd_packet.cc fddb5ffaa9ce5478cdcdd18e94d5a2d4f7008766 @@ -19,7 +19,7 @@ using std::vector; using std::istringstream; using std::vector; -CMD(pubkey, "", CMD_REF(packet_io), N_("ID"), +CMD(pubkey, "pubkey", "", CMD_REF(packet_io), N_("ID"), N_("Prints a public key packet"), N_(""), options::opts::none) @@ -49,7 +49,7 @@ CMD(pubkey, "", CMD_REF(packet_io), N_(" pw.consume_public_key(ident, key); } -CMD(privkey, "", CMD_REF(packet_io), N_("ID"), +CMD(privkey, "privkey", "", CMD_REF(packet_io), N_("ID"), N_("Prints a private key packet"), N_(""), options::opts::none) @@ -130,7 +130,7 @@ namespace } -CMD(read, "", CMD_REF(packet_io), "[FILE1 [FILE2 [...]]]", +CMD(read, "read", "", CMD_REF(packet_io), "[FILE1 [FILE2 [...]]]", N_("Reads packets from files"), N_("If no files are provided, the standard input is used."), options::opts::none) ============================================================ --- cmd_ws_commit.cc e7e2a3a54782207b9ccf3afc9aaa25bd1811f1a3 +++ cmd_ws_commit.cc 7b2329c3d0abef5843a808bc6358ab99c71bfaac @@ -78,7 +78,7 @@ get_log_message_interactively(revision_t system_to_utf8(log_message_external, log_message); } -CMD(revert, "", CMD_REF(workspace), N_("[PATH]..."), +CMD(revert, "revert", "", CMD_REF(workspace), N_("[PATH]..."), N_("Reverts files and/or directories"), N_("In order to revert the entire workspace, specify \".\" as the " "file name."), @@ -210,7 +210,7 @@ CMD(revert, "", CMD_REF(workspace), N_(" app.work.maybe_update_inodeprints(); } -CMD(disapprove, "", CMD_REF(review), N_("REVISION"), +CMD(disapprove, "disapprove", "", CMD_REF(review), N_("REVISION"), N_("Disapproves a particular revision"), N_(""), options::opts::branch | options::opts::messages | options::opts::date | @@ -264,7 +264,7 @@ CMD(disapprove, "", CMD_REF(review), N_( } } -CMD(mkdir, "", CMD_REF(workspace), N_("[DIRECTORY...]"), +CMD(mkdir, "mkdir", "", CMD_REF(workspace), N_("[DIRECTORY...]"), N_("Creates directories and adds them to the workspace"), N_(""), options::opts::no_ignore) @@ -309,7 +309,7 @@ CMD(mkdir, "", CMD_REF(workspace), N_("[ app.work.perform_additions(paths, false, !app.opts.no_ignore); } -CMD(add, "", CMD_REF(workspace), N_("[PATH]..."), +CMD(add, "add", "", CMD_REF(workspace), N_("[PATH]..."), N_("Adds files to the workspace"), N_(""), options::opts::unknown | options::opts::no_ignore | @@ -343,7 +343,7 @@ CMD(add, "", CMD_REF(workspace), N_("[PA app.work.perform_additions(paths, add_recursive, !app.opts.no_ignore); } -CMD(drop, "rm", CMD_REF(workspace), N_("[PATH]..."), +CMD(drop, "drop", "rm", CMD_REF(workspace), N_("[PATH]..."), N_("Drops files from the workspace"), N_(""), options::opts::bookkeep_only | options::opts::missing | options::opts::recursive) @@ -372,7 +372,7 @@ CMD(drop, "rm", CMD_REF(workspace), N_(" } -CMD(rename, "mv", CMD_REF(workspace), +CMD(rename, "rename", "mv", CMD_REF(workspace), N_("SRC DEST\n" "SRC1 [SRC2 [...]] DEST_DIR"), N_("Renames entries in the workspace"), @@ -396,7 +396,7 @@ CMD(rename, "mv", CMD_REF(workspace), } -CMD(pivot_root, "", CMD_REF(workspace), N_("NEW_ROOT PUT_OLD"), +CMD(pivot_root, "pivot_root", "", CMD_REF(workspace), N_("NEW_ROOT PUT_OLD"), N_("Renames the root directory"), N_("After this command, the directory that currently " "has the name NEW_ROOT " @@ -415,7 +415,7 @@ CMD(pivot_root, "", CMD_REF(workspace), app.work.perform_pivot_root(new_root, put_old, app.opts.bookkeep_only); } -CMD(status, "", CMD_REF(informative), N_("[PATH]..."), +CMD(status, "status", "", CMD_REF(informative), N_("[PATH]..."), N_("Shows workspace's status information"), N_(""), options::opts::depth | options::opts::exclude) @@ -489,7 +489,7 @@ CMD(status, "", CMD_REF(informative), N_ } } -CMD(checkout, "co", CMD_REF(tree), N_("[DIRECTORY]"), +CMD(checkout, "checkout", "co", CMD_REF(tree), N_("[DIRECTORY]"), N_("Checks out a revision from the database into a directory"), N_("If a revision is given, that's the one that will be checked out. " "Otherwise, it will be the head of the branch (given or implicit). " @@ -596,11 +596,11 @@ CMD(checkout, "co", CMD_REF(tree), N_("[ guard.commit(); } -CMD_GROUP(attr, "", CMD_REF(workspace), +CMD_GROUP(attr, "attr", "", CMD_REF(workspace), N_("Manages file attributes"), N_("This command is used to set, get or drop file attributes.")); -CMD(attr_drop, "drop", CMD_REF(attr), N_("PATH [ATTR]"), +CMD(attr_drop, "drop", "", CMD_REF(attr), N_("PATH [ATTR]"), N_("Removes attributes from a file"), N_("If no attribute is specified, this command removes all attributes " "attached to the file given in PATH. Otherwise only removes the " @@ -649,7 +649,7 @@ CMD(attr_drop, "drop", CMD_REF(attr), N_ app.work.update_any_attrs(); } -CMD(attr_get, "get", CMD_REF(attr), N_("PATH [ATTR]"), +CMD(attr_get, "get", "", CMD_REF(attr), N_("PATH [ATTR]"), N_("Gets the values of a file's attributes"), N_("If no attribute is specified, this command prints all attributes " "attached to the file given in PATH. Otherwise it only prints the " @@ -702,7 +702,7 @@ CMD(attr_get, "get", CMD_REF(attr), N_(" } } -CMD(attr_set, "set", CMD_REF(attr), N_("PATH ATTR VALUE"), +CMD(attr_set, "set", "", CMD_REF(attr), N_("PATH ATTR VALUE"), N_("Sets an attribute on a file"), N_("Sets the attribute given on ATTR to the value specified in VALUE " "for the file mentioned in PATH."), @@ -738,7 +738,7 @@ CMD(attr_set, "set", CMD_REF(attr), N_(" app.work.update_any_attrs(); } -CMD(commit, "ci", CMD_REF(workspace), N_("[PATH]..."), +CMD(commit, "commit", "ci", CMD_REF(workspace), N_("[PATH]..."), N_("Commits workspace changes to the database"), N_(""), options::opts::branch | options::opts::message | options::opts::msgfile @@ -985,7 +985,7 @@ CMD(commit, "ci", CMD_REF(workspace), N_ } } -CMD_NO_WORKSPACE(setup, "", CMD_REF(tree), N_("[DIRECTORY]"), +CMD_NO_WORKSPACE(setup, "setup", "", CMD_REF(tree), N_("[DIRECTORY]"), N_("Sets up a new workspace directory"), N_("If no directory is specified, uses the current directory."), options::opts::branch) @@ -1009,7 +1009,7 @@ CMD_NO_WORKSPACE(setup, "", CMD_REF(tree app.work.put_work_rev(rev); } -CMD_NO_WORKSPACE(import, "", CMD_REF(tree), N_("DIRECTORY"), +CMD_NO_WORKSPACE(import, "import", "", CMD_REF(tree), N_("DIRECTORY"), N_("Imports the contents of a directory into a branch"), N_(""), options::opts::branch | options::opts::revision | @@ -1110,7 +1110,8 @@ CMD_NO_WORKSPACE(import, "", CMD_REF(tre delete_dir_recursive(bookkeeping_root); } -CMD_NO_WORKSPACE(migrate_workspace, "", CMD_REF(tree), N_("[DIRECTORY]"), +CMD_NO_WORKSPACE(migrate_workspace, "migrate_workspace", "", CMD_REF(tree), + N_("[DIRECTORY]"), N_("Migrates a workspace directory's metadata to the latest format"), N_("If no directory is given, defaults to the current workspace."), options::opts::none) @@ -1124,7 +1125,7 @@ CMD_NO_WORKSPACE(migrate_workspace, "", app.work.migrate_ws_format(); } -CMD(refresh_inodeprints, "", CMD_REF(tree), "", +CMD(refresh_inodeprints, "refresh_inodeprints", "", CMD_REF(tree), "", N_("Refreshes the inodeprint cache"), N_(""), options::opts::none) ============================================================ --- commands.cc 2fb6458737c936ab44a8c3b21beb6d241b1e42ca +++ commands.cc f1e78f7e76f517a0011691ac5cad18b6d76a62ac @@ -39,7 +39,7 @@ using std::vector; using std::strlen; using std::vector; -CMD_GROUP(__root__, "", NULL, N_(""), N_("")); +CMD_GROUP(__root__, "__root__", "", NULL, N_(""), N_("")); // // Definition of top-level commands, used to classify the real commands @@ -53,40 +53,40 @@ CMD_GROUP(__root__, "", NULL, N_(""), N_ // maybe this should be revised, because exposing the top level category // (being optional, of course), may not be a bad idea. // -CMD_GROUP(automation, "", CMD_REF(__root__), +CMD_GROUP(automation, "automation", "", CMD_REF(__root__), N_("Commands that aid in scripted execution"), N_("")); -CMD_GROUP(database, "", CMD_REF(__root__), +CMD_GROUP(database, "database", "", CMD_REF(__root__), N_("Commands that manipulate the database"), N_("")); -CMD_GROUP(debug, "", CMD_REF(__root__), +CMD_GROUP(debug, "debug", "", CMD_REF(__root__), N_("Commands that aid in program debugging"), N_("")); -CMD_GROUP(informative, "", CMD_REF(__root__), +CMD_GROUP(informative, "informative", "", CMD_REF(__root__), N_("Commands for information retrieval"), N_("")); -CMD_GROUP(key_and_cert, "", CMD_REF(__root__), +CMD_GROUP(key_and_cert, "key_and_cert", "", CMD_REF(__root__), N_("Commands to manage keys and certificates"), N_("")); -CMD_GROUP(network, "", CMD_REF(__root__), +CMD_GROUP(network, "network", "", CMD_REF(__root__), N_("Commands that access the network"), N_("")); -CMD_GROUP(packet_io, "", CMD_REF(__root__), +CMD_GROUP(packet_io, "packet_io", "", CMD_REF(__root__), N_("Commands for packet reading and writing"), N_("")); -CMD_GROUP(rcs, "", CMD_REF(__root__), +CMD_GROUP(rcs, "rcs", "", CMD_REF(__root__), N_("Commands for interaction with RCS and CVS"), N_("")); -CMD_GROUP(review, "", CMD_REF(__root__), +CMD_GROUP(review, "review", "", CMD_REF(__root__), N_("Commands to review revisions"), N_("")); -CMD_GROUP(tree, "", CMD_REF(__root__), +CMD_GROUP(tree, "tree", "", CMD_REF(__root__), N_("Commands to manipulate the tree"), N_("")); -CMD_GROUP(variables, "", CMD_REF(__root__), +CMD_GROUP(variables, "variables", "", CMD_REF(__root__), N_("Commands to manage persistent variables"), N_("")); -CMD_GROUP(workspace, "", CMD_REF(__root__), +CMD_GROUP(workspace, "workspace", "", CMD_REF(__root__), N_("Commands that deal with the workspace"), N_("")); @@ -678,7 +678,7 @@ namespace commands } //////////////////////////////////////////////////////////////////////// -CMD(help, "", CMD_REF(informative), N_("command [ARGS...]"), +CMD(help, "help", "", CMD_REF(informative), N_("command [ARGS...]"), N_("Displays help about commands and options"), N_(""), options::opts::none) @@ -694,7 +694,8 @@ CMD(help, "", CMD_REF(informative), N_(" throw usage(id); } -CMD_HIDDEN(crash, "", CMD_REF(debug), "{ N | E | I | exception | signal }", +CMD_HIDDEN(crash, "crash", "", CMD_REF(debug), + "{ N | E | I | exception | signal }", N_("Triggers the specified kind of crash"), N_(""), options::opts::none) @@ -907,16 +908,24 @@ process_commit_message_args(bool & given #ifdef BUILD_UNIT_TESTS #include "unit_tests.hh" -CMD_GROUP(top, "", CMD_REF(__root__), "", "", options::opts::none); +CMD_GROUP(top, "top", "", CMD_REF(__root__), + "", "", options::opts::none); -CMD(test1, "alias1", CMD_REF(top), "", "", "", options::opts::none) {} -CMD(test2, "alias2", CMD_REF(top), "", "", "", options::opts::none) {} -CMD_HIDDEN(test3, "", CMD_REF(top), "", "", "", options::opts::none) {} +CMD(test, "test"1, "alias1", CMD_REF(top), + "", "", "", options::opts::none) {} +CMD(test, "test"2, "alias2", CMD_REF(top), + "", "", "", options::opts::none) {} +CMD_HIDDEN(test, "test"3, "", CMD_REF(top), + "", "", "", options::opts::none) {} -CMD_GROUP(testg, "aliasg", CMD_REF(top), "", "", options::opts::none); -CMD(testg1, "", CMD_REF(testg), "", "", "", options::opts::none) {} -CMD(testg2, "", CMD_REF(testg), "", "", "", options::opts::none) {} -CMD_HIDDEN(testg3, "", CMD_REF(testg), "", "", "", options::opts::none) {} +CMD_GROUP(testg, "testg", "aliasg", CMD_REF(top), + "", "", options::opts::none); +CMD(testg, "testg"1, "", CMD_REF(testg), + "", "", "", options::opts::none) {} +CMD(testg, "testg"2, "", CMD_REF(testg), + "", "", "", options::opts::none) {} +CMD_HIDDEN(testg, "testg"3, "", CMD_REF(testg), + "", "", "", options::opts::none) {} static args_vector mkargs(const char *words) ============================================================ --- revision.cc b11b83b54d4b07e23ff3c30749008f300dd0f815 +++ revision.cc 44db85a351771265506f44edbf15b7ffbc7692ef @@ -1773,7 +1773,7 @@ regenerate_caches(app_state & app) P(F("finished regenerating cached rosters and heights")); } -CMD_HIDDEN(rev_height, "", CMD_REF(informative), N_("REV"), +CMD_HIDDEN(rev_height, "rev_height", "", CMD_REF(informative), N_("REV"), N_("Shows a revision's height"), N_(""), options::opts::none) ============================================================ --- sha1.cc 0652e123e555bff72a7bae1e7eb9e2d737eb3a8a +++ sha1.cc 60cca14abc15c37e5c93959e0bc189cecda2e705 @@ -92,7 +92,7 @@ void hook_botan_sha1() Botan::global_state().add_engine(new Monotone_SHA1_Engine); } -CMD_HIDDEN(benchmark_sha1, "", CMD_REF(debug), "", +CMD_HIDDEN(benchmark_sha, "benchmark_sha1", "", CMD_REF(debug), "", N_("Benchmarks SHA-1 cores"), N_(""), options::opts::none)