From: Arvin Schnell Date: Wed, 9 Feb 2011 15:13:31 +0000 (+0100) Subject: - work on help texts X-Git-Tag: v0.1.3~497 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=1278f2a1cf5eb3e8acd32b82e37fe72e8d093268;p=thirdparty%2Fsnapper.git - work on help texts --- diff --git a/tools/snapper.cc b/tools/snapper.cc index 1c05d49a..324e9fab 100644 --- a/tools/snapper.cc +++ b/tools/snapper.cc @@ -41,7 +41,7 @@ readNum(const string& str) Snapshots::iterator snap = snapshots.find(num); if (snap == snapshots.end()) { - cerr << sformat(_("Snapshot '%u' not found"), num) << endl; + cerr << sformat(_("Snapshot '%u' not found."), num) << endl; exit(EXIT_FAILURE); } @@ -50,38 +50,21 @@ readNum(const string& str) void -showHelp() +help_list() { - getopts.parse("help", GetOpts::no_options); - if (getopts.hasArgs()) - { - cerr << _("Command 'help' does not take arguments") << endl; - exit(EXIT_FAILURE); - } - - cout << - "Usage: snapper [--global-opts] [--command-opts] [command-arguments]\n" - "\n" - "Possible commands are:\n" - " help -- show this help\n" - " list -- list all snapshots\n" - " create single [desc] -- create single snapshot with \"descr\" as description\n" - " create pre [desc] -- create pre snapshot with \"descr\" as description\n" - " create post num -- create post snapshot that corresponds to\n" - " pre snapshot number \"num\"\n" - " diff num1 num2 -- show difference between snapnots num1 and num2.\n" - " current version of filesystem is indicated by number 0.\n" - "\n"; + cout << _(" List snapshots:") << endl + << _("\tsnapper list") << endl + << endl; } void -listSnap() +command_list() { getopts.parse("list", GetOpts::no_options); if (getopts.hasArgs()) { - cerr << _("Command 'list' does not take arguments") << endl; + cerr << _("Command 'list' does not take arguments.") << endl; exit(EXIT_FAILURE); } @@ -112,7 +95,22 @@ listSnap() void -createSnap() +help_create() +{ + cout << _(" Create snapshot:") << endl + << _("\tsnapper create") << endl + << endl + << _(" Options for 'create' command:") << endl + << _("\t--type, -t \t\tType for snapshot.") << endl + << _("\t--pre-numbner \t\tNumber of corresponding pre snapshot.") << endl + << _("\t--description, -d \tDescription for snapshot.") << endl + << _("\t--print-number, -p\t\tPrint number of created snapshot.") << endl + << endl; +} + + +void +command_create() { const struct option options[] = { { "type", required_argument, 0, 't' }, @@ -125,7 +123,7 @@ createSnap() GetOpts::parsed_opts opts = getopts.parse("create", options); if (getopts.hasArgs()) { - cerr << _("Command 'create' does not take arguments") << endl; + cerr << _("Command 'create' does not take arguments.") << endl; exit(EXIT_FAILURE); } @@ -173,12 +171,21 @@ createSnap() void -deleteSnap() +help_delete() +{ + cout << _(" Delete snapshot:") << endl + << _("\tsnapper delete ") << endl + << endl; +} + + +void +command_delete() { getopts.parse("delete", GetOpts::no_options); if (!getopts.hasArgs()) { - cerr << _("Command 'delete' needs at least one argument") << endl; + cerr << _("Command 'delete' needs at least one argument.") << endl; exit(EXIT_FAILURE); } @@ -191,7 +198,19 @@ deleteSnap() void -showDifference() +help_diff() +{ + cout << _(" Comparing snapshots:") << endl + << _("\tsnapper diff ") << endl + << endl + << _(" Options for 'diff' command:") << endl + << _("\t--output, -o \t\tSave diff to file.") << endl + << endl; +} + + +void +command_diff() { const struct option options[] = { { "output", required_argument, 0, 'o' }, @@ -201,7 +220,7 @@ showDifference() GetOpts::parsed_opts opts = getopts.parse("diff", options); if (getopts.numArgs() != 2) { - cerr << _("Command 'diff' needs two arguments") << endl; + cerr << _("Command 'diff' needs two arguments.") << endl; exit(EXIT_FAILURE); } @@ -229,7 +248,19 @@ showDifference() void -doRollback() +help_rollback() +{ + cout << _(" Rollback snapshots:") << endl + << _("\tsnapper rollback ") << endl + << endl + << _(" Options for 'rollback' command:") << endl + << _("\t--file, -f \t\tRead files to rollback from file.") << endl + << endl; +} + + +void +command_rollback() { const struct option options[] = { { "file", required_argument, 0, 'f' }, @@ -239,7 +270,7 @@ doRollback() GetOpts::parsed_opts opts = getopts.parse("rollback", options); if (getopts.numArgs() != 2) { - cerr << _("Command 'rollback' needs two arguments") << endl; + cerr << _("Command 'rollback' needs two arguments.") << endl; exit(EXIT_FAILURE); } @@ -273,7 +304,7 @@ doRollback() Files::iterator it = files.find(name); if (it == files.end()) { - cerr << sformat(_("File '%s' not found in diff"), name.c_str()) << endl; + cerr << sformat(_("File '%s' not found in diff."), name.c_str()) << endl; exit(EXIT_FAILURE); } @@ -294,6 +325,32 @@ doRollback() } +void +command_help() +{ + getopts.parse("help", GetOpts::no_options); + if (getopts.hasArgs()) + { + cerr << _("Command 'help' does not take arguments.") << endl; + exit(EXIT_FAILURE); + } + + cout << _("usage: snapper [--global-opts] [--command-opts] [command-arguments]") << endl + << endl; + + cout << _(" Global options:") << endl + << _("\t--quiet, -q\t\t\tSuppress normal output.") << endl + << _("\t--table-style, -s \t\tTable style (integer).") << endl + << endl; + + help_list(); + help_create(); + help_delete(); + help_diff(); + help_rollback(); +} + + struct CompareCallbackImpl : public CompareCallback { void start() { cout << "comparing snapshots..." << flush; } @@ -310,12 +367,12 @@ main(int argc, char** argv) initDefaultLogger(); - cmds["help"] = showHelp; - cmds["list"] = listSnap; - cmds["create"] = createSnap; - cmds["delete"] = deleteSnap; - cmds["diff"] = showDifference; - cmds["rollback"] = doRollback; + cmds["list"] = command_list; + cmds["create"] = command_create; + cmds["delete"] = command_delete; + cmds["diff"] = command_diff; + cmds["rollback"] = command_rollback; + cmds["help"] = command_help; const struct option options[] = { { "quiet", no_argument, 0, 'q' }, @@ -328,7 +385,8 @@ main(int argc, char** argv) GetOpts::parsed_opts opts = getopts.parse(options); if (!getopts.hasArgs()) { - cerr << _("No command provided") << endl; + cerr << _("No command provided.") << endl + << _("Try 'snapper help' for more information.") << endl; exit(EXIT_FAILURE); } @@ -336,7 +394,8 @@ main(int argc, char** argv) map::const_iterator cmd = cmds.find(command); if (cmd == cmds.end()) { - cerr << sformat(_("Unknown command '%s'"), command) << endl; + cerr << sformat(_("Unknown command '%s'."), command) << endl + << _("Try 'snapper help' for more information.") << endl; exit(EXIT_FAILURE); } diff --git a/tools/utils/GetOpts.cc b/tools/utils/GetOpts.cc index 97a6c81b..3c397b44 100644 --- a/tools/utils/GetOpts.cc +++ b/tools/utils/GetOpts.cc @@ -57,16 +57,16 @@ GetOpts::parse(const char* command, const struct option* longopts) case '?': if (!command) - cerr << sformat(_("Unknown global option '%s'"), argv[optind - 1]) << endl; + cerr << sformat(_("Unknown global option '%s'."), argv[optind - 1]) << endl; else - cerr << sformat(_("Unknown option '%s' for command '%s'"), argv[optind - 1], command) << endl; + cerr << sformat(_("Unknown option '%s' for command '%s'."), argv[optind - 1], command) << endl; exit(EXIT_FAILURE); case ':': if (!command) - cerr << sformat(_("Missing argument for global option '%s'"), argv[optind - 1]) << endl; + cerr << sformat(_("Missing argument for global option '%s'."), argv[optind - 1]) << endl; else - cerr << sformat(_("Missing argument for command option '%s'"), argv[optind - 1]) << endl; + cerr << sformat(_("Missing argument for command option '%s'."), argv[optind - 1]) << endl; exit(EXIT_FAILURE); default: