Merge branch 'rs/opt-help-text'
authorJunio C Hamano <gitster@pobox.com>
Wed, 24 Nov 2010 23:55:19 +0000 (15:55 -0800)
committerJunio C Hamano <gitster@pobox.com>
Wed, 24 Nov 2010 23:55:19 +0000 (15:55 -0800)
* rs/opt-help-text:
verify-tag: document --verbose
branch: improve --verbose description
archive: improve --verbose description
Describe various forms of "be quiet" using OPT__QUIET
add OPT__FORCE
add description parameter to OPT__QUIET
add description parameter to OPT__DRY_RUN
add description parameter to OPT__VERBOSE

31 files changed:
Documentation/git-verify-tag.txt
Documentation/technical/api-parse-options.txt
archive.c
builtin/add.c
builtin/apply.c
builtin/branch.c
builtin/checkout-index.c
builtin/checkout.c
builtin/clean.c
builtin/commit.c
builtin/count-objects.c
builtin/fetch.c
builtin/fsck.c
builtin/gc.c
builtin/grep.c
builtin/log.c
builtin/merge-file.c
builtin/mv.c
builtin/notes.c
builtin/prune.c
builtin/read-tree.c
builtin/remote.c
builtin/reset.c
builtin/rm.c
builtin/show-ref.c
builtin/symbolic-ref.c
builtin/tag.c
builtin/update-server-info.c
builtin/verify-tag.c
parse-options.h
test-parse-options.c
index dada21242c915148543dda8485b3322894aeb4c5..711219749cac76ff1363ce5f27e28da9a7ecba57 100644 (file)
@@ -15,6 +15,10 @@ Validates the gpg signature created by 'git tag'.
 
 OPTIONS
 -------
+-v::
+--verbose::
+       Print the contents of the tag object before validating it.
+
 <tag>...::
        SHA1 identifiers of git tag objects.
 
index c5d141cd63d15e97dd4b4777c30dccb57d430782..f6a4a361bd56e1cc0f4645e09898e6852bfb8a8b 100644 (file)
@@ -118,13 +118,16 @@ There are some macros to easily define options:
 `OPT__COLOR(&int_var, description)`::
        Add `\--color[=<when>]` and `--no-color`.
 
-`OPT__DRY_RUN(&int_var)`::
+`OPT__DRY_RUN(&int_var, description)`::
        Add `-n, \--dry-run`.
 
-`OPT__QUIET(&int_var)`::
+`OPT__FORCE(&int_var, description)`::
+       Add `-f, \--force`.
+
+`OPT__QUIET(&int_var, description)`::
        Add `-q, \--quiet`.
 
-`OPT__VERBOSE(&int_var)`::
+`OPT__VERBOSE(&int_var, description)`::
        Add `-v, \--verbose`.
 
 `OPT_GROUP(description)`::
index f59afda6ffda02920a50cabe1eb3e764221199ba..1944ed4e4dc36addaf6a8b408703a7ff418bd26c 100644 (file)
--- a/archive.c
+++ b/archive.c
@@ -314,7 +314,7 @@ static int parse_archive_args(int argc, const char **argv,
                        "write the archive to this file"),
                OPT_BOOLEAN(0, "worktree-attributes", &worktree_attributes,
                        "read .gitattributes in working directory"),
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose, "report archived files on stderr"),
                OPT__COMPR('0', &compression_level, "store only", 0),
                OPT__COMPR('1', &compression_level, "compress faster", 1),
                OPT__COMPR_HIDDEN('2', &compression_level, 2),
index 56a4e0af6b35ea9f6d86accad27a1c87bc5ad0d9..71f9b04fef829ad3725ca50902bd6935dc3cda36 100644 (file)
@@ -313,13 +313,13 @@ static int verbose = 0, show_only = 0, ignored_too = 0, refresh_only = 0;
 static int ignore_add_errors, addremove, intent_to_add, ignore_missing = 0;
 
 static struct option builtin_add_options[] = {
-       OPT__DRY_RUN(&show_only),
-       OPT__VERBOSE(&verbose),
+       OPT__DRY_RUN(&show_only, "dry run"),
+       OPT__VERBOSE(&verbose, "be verbose"),
        OPT_GROUP(""),
        OPT_BOOLEAN('i', "interactive", &add_interactive, "interactive picking"),
        OPT_BOOLEAN('p', "patch", &patch_interactive, "interactive patching"),
        OPT_BOOLEAN('e', "edit", &edit_interactive, "edit current diff and apply"),
-       OPT_BOOLEAN('f', "force", &ignored_too, "allow adding otherwise ignored files"),
+       OPT__FORCE(&ignored_too, "allow adding otherwise ignored files"),
        OPT_BOOLEAN('u', "update", &take_worktree_changes, "update tracked files"),
        OPT_BOOLEAN('N', "intent-to-add", &intent_to_add, "record only the fact that the path will be added later"),
        OPT_BOOLEAN('A', "all", &addremove, "add all, noticing removal of tracked files"),
index f051e66dcc5260e4e7ecb28c36e2c6da8e823d6b..96246e960f9d9fb9230edc0f4e7a9a13267608f2 100644 (file)
@@ -3849,7 +3849,7 @@ int cmd_apply(int argc, const char **argv, const char *prefix_)
                        "don't expect at least one line of context"),
                OPT_BOOLEAN(0, "reject", &apply_with_reject,
                        "leave the rejected hunks in corresponding *.rej files"),
-               OPT__VERBOSE(&apply_verbosely),
+               OPT__VERBOSE(&apply_verbosely, "be verbose"),
                OPT_BIT(0, "inaccurate-eof", &options,
                        "tolerate incorrectly detected missing new-line at the end of file",
                        INACCURATE_EOF),
index 87976f0921d87f2a8564eb54aa3b81d30ee7f214..807355a1982f0f91e9acea66c360903fc3714495 100644 (file)
@@ -621,7 +621,8 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
 
        struct option options[] = {
                OPT_GROUP("Generic options"),
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose,
+                       "show hash and subject, give twice for upstream branch"),
                OPT_SET_INT('t', "track",  &track, "set up tracking mode (see git-pull(1))",
                        BRANCH_TRACK_EXPLICIT),
                OPT_SET_INT( 0, "set-upstream",  &track, "change upstream info",
@@ -651,7 +652,7 @@ int cmd_branch(int argc, const char **argv, const char *prefix)
                OPT_BIT('m', NULL, &rename, "move/rename a branch and its reflog", 1),
                OPT_BIT('M', NULL, &rename, "move/rename a branch, even if target exists", 2),
                OPT_BOOLEAN('l', NULL, &reflog, "create the branch's reflog"),
-               OPT_BOOLEAN('f', "force", &force_create, "force creation (when already exists)"),
+               OPT__FORCE(&force_create, "force creation (when already exists)"),
                {
                        OPTION_CALLBACK, 0, "no-merged", &merge_filter_ref,
                        "commit", "print only not merged branches",
index 65cbee0552b8e2d5ed7cfd57781031d72c1cdd98..1ee30443074bbae67a402c5397b939a716f2a191 100644 (file)
@@ -217,9 +217,9 @@ int cmd_checkout_index(int argc, const char **argv, const char *prefix)
        struct option builtin_checkout_index_options[] = {
                OPT_BOOLEAN('a', "all", &all,
                        "checks out all files in the index"),
-               OPT_BOOLEAN('f', "force", &force,
-                       "forces overwrite of existing files"),
-               OPT__QUIET(&quiet),
+               OPT__FORCE(&force, "forces overwrite of existing files"),
+               OPT__QUIET(&quiet,
+                       "no warning for existing files and files not in index"),
                OPT_BOOLEAN('n', "no-create", &not_new,
                        "don't checkout new files"),
                { OPTION_CALLBACK, 'u', "index", &newfd, NULL,
index 1fa9ce43f548da542ec2e93c8d75fdd3d78131b2..757f9a08ddbaf102726a781b06d7294a4638984e 100644 (file)
@@ -686,7 +686,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
        int patch_mode = 0;
        int dwim_new_local_branch = 1;
        struct option options[] = {
-               OPT__QUIET(&opts.quiet),
+               OPT__QUIET(&opts.quiet, "suppress progress reporting"),
                OPT_STRING('b', NULL, &opts.new_branch, "branch",
                           "create and checkout a new branch"),
                OPT_STRING('B', NULL, &opts.new_branch_force, "branch",
@@ -699,7 +699,7 @@ int cmd_checkout(int argc, const char **argv, const char *prefix)
                            2),
                OPT_SET_INT('3', "theirs", &opts.writeout_stage, "checkout their version for unmerged files",
                            3),
-               OPT_BOOLEAN('f', "force", &opts.force, "force checkout (throw away local modifications)"),
+               OPT__FORCE(&opts.force, "force checkout (throw away local modifications)"),
                OPT_BOOLEAN('m', "merge", &opts.merge, "perform a 3-way merge with the new branch"),
                OPT_STRING(0, "conflict", &conflict_style, "style",
                           "conflict style (merge or diff3)"),
index fb24030751ec5e755009a97439ffa08ff55f67d5..4a312abc6b3ecef5f174b2786ad31385ba058b44 100644 (file)
@@ -48,9 +48,9 @@ int cmd_clean(int argc, const char **argv, const char *prefix)
        const char *qname;
        char *seen = NULL;
        struct option options[] = {
-               OPT__QUIET(&quiet),
-               OPT__DRY_RUN(&show_only),
-               OPT_BOOLEAN('f', "force", &force, "force"),
+               OPT__QUIET(&quiet, "do not print names of files removed"),
+               OPT__DRY_RUN(&show_only, "dry run"),
+               OPT__FORCE(&force, "force"),
                OPT_BOOLEAN('d', NULL, &remove_directories,
                                "remove whole directories"),
                { OPTION_CALLBACK, 'e', "exclude", &exclude_list, "pattern",
index 66fdd2202495b2893c79b4f92b0fc2e715f5b7bb..4fd1a1692f867e54eddd406d505e584ee0451cf8 100644 (file)
@@ -114,8 +114,8 @@ static int opt_parse_m(const struct option *opt, const char *arg, int unset)
 }
 
 static struct option builtin_commit_options[] = {
-       OPT__QUIET(&quiet),
-       OPT__VERBOSE(&verbose),
+       OPT__QUIET(&quiet, "suppress summary after successful commit"),
+       OPT__VERBOSE(&verbose, "show diff in commit message template"),
 
        OPT_GROUP("Commit message options"),
        OPT_FILENAME('F', "file", &logfile, "read log from file"),
@@ -1048,7 +1048,7 @@ int cmd_status(int argc, const char **argv, const char *prefix)
        int fd;
        unsigned char sha1[20];
        static struct option builtin_status_options[] = {
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose, "be verbose"),
                OPT_SET_INT('s', "short", &status_format,
                            "show status concisely", STATUS_FORMAT_SHORT),
                OPT_BOOLEAN('b', "branch", &status_show_branch,
index 2bdd8ebde1002e852055385396ef053f26c91ae8..c37cb98c31ddfaa90d38a0355d32cf3d6c404bff 100644 (file)
@@ -79,7 +79,7 @@ int cmd_count_objects(int argc, const char **argv, const char *prefix)
        unsigned long loose = 0, packed = 0, packed_loose = 0, garbage = 0;
        off_t loose_size = 0;
        struct option opts[] = {
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose, "be verbose"),
                OPT_END(),
        };
 
index 4243ef02232d977f37c34e4bd3b724469ef041a4..6bcce55c0cdb6686e0585bf11107559ba61a5700 100644 (file)
@@ -43,8 +43,7 @@ static struct option builtin_fetch_options[] = {
                    "append to .git/FETCH_HEAD instead of overwriting"),
        OPT_STRING(0, "upload-pack", &upload_pack, "PATH",
                   "path to upload pack on remote end"),
-       OPT_BOOLEAN('f', "force", &force,
-                   "force overwrite of local branch"),
+       OPT__FORCE(&force, "force overwrite of local branch"),
        OPT_BOOLEAN('m', "multiple", &multiple,
                    "fetch from multiple remotes"),
        OPT_SET_INT('t', "tags", &tags,
index 0929c7f245cbe85a4a68374850871a0ffbcdeec3..6d5ebca7a9bc9333ea8e493057ecce1b4814c252 100644 (file)
@@ -572,7 +572,7 @@ static char const * const fsck_usage[] = {
 };
 
 static struct option fsck_opts[] = {
-       OPT__VERBOSE(&verbose),
+       OPT__VERBOSE(&verbose, "be verbose"),
        OPT_BOOLEAN(0, "unreachable", &show_unreachable, "show unreachable objects"),
        OPT_BOOLEAN(0, "tags", &show_tags, "report tags"),
        OPT_BOOLEAN(0, "root", &show_root, "report root nodes"),
index c304638b7845601f184149d3c48cbc1ea1e195f5..397a1e6eb3ae8ec0e367a8faa2ca823586d26e6a 100644 (file)
@@ -180,7 +180,7 @@ int cmd_gc(int argc, const char **argv, const char *prefix)
        char buf[80];
 
        struct option builtin_gc_options[] = {
-               OPT__QUIET(&quiet),
+               OPT__QUIET(&quiet, "suppress progress reporting"),
                { OPTION_STRING, 0, "prune", &prune_expire, "date",
                        "prune unreferenced objects",
                        PARSE_OPT_OPTARG, NULL, (intptr_t)prune_expire },
index 3d5f6ace97b806fd7dba9f8c5d62abcdbd903681..adb542494dde32123011b1e76ed164ab39e6e716 100644 (file)
@@ -915,8 +915,8 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
                { OPTION_CALLBACK, ')', NULL, &opt, NULL, "",
                  PARSE_OPT_NOARG | PARSE_OPT_NONEG | PARSE_OPT_NODASH,
                  close_callback },
-               OPT_BOOLEAN('q', "quiet", &opt.status_only,
-                           "indicate hit with exit status without output"),
+               OPT__QUIET(&opt.status_only,
+                          "indicate hit with exit status without output"),
                OPT_BOOLEAN(0, "all-match", &opt.all_match,
                        "show only matches from files that match all patterns"),
                OPT_GROUP(""),
index 22d12903ac06597979f30d0fd94267fc543afa29..d0297a1c5e563bc99cb9cd3d52f7017348980ec9 100644 (file)
@@ -1365,7 +1365,7 @@ int cmd_cherry(int argc, const char **argv, const char *prefix)
 
        struct option options[] = {
                OPT__ABBREV(&abbrev),
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose, "be verbose"),
                OPT_END()
        };
 
index 6c4afb5a38bc954be836c441b9b09b22ef82b132..237abd3c0b27b601aca140bfb67a302666ff9cf2 100644 (file)
@@ -40,7 +40,7 @@ int cmd_merge_file(int argc, const char **argv, const char *prefix)
                            XDL_MERGE_FAVOR_UNION),
                OPT_INTEGER(0, "marker-size", &xmp.marker_size,
                            "for conflicts, use this marker size"),
-               OPT__QUIET(&quiet),
+               OPT__QUIET(&quiet, "do not warn about conflicts"),
                OPT_CALLBACK('L', NULL, names, "name",
                             "set labels for file1/orig_file/file2", &label_cb),
                OPT_END(),
index cdbb09473c0c45efff23a63e78b7623cad523350..93e8995d9e704faa041f97f92ba72dabe7839d81 100644 (file)
@@ -55,8 +55,8 @@ int cmd_mv(int argc, const char **argv, const char *prefix)
        int i, newfd;
        int verbose = 0, show_only = 0, force = 0, ignore_errors = 0;
        struct option builtin_mv_options[] = {
-               OPT__DRY_RUN(&show_only),
-               OPT_BOOLEAN('f', "force", &force, "force move/rename even if target exists"),
+               OPT__DRY_RUN(&show_only, "dry run"),
+               OPT__FORCE(&force, "force move/rename even if target exists"),
                OPT_BOOLEAN('k', NULL, &ignore_errors, "skip move/rename errors"),
                OPT_END(),
        };
index 6d07aac80cc2bfd042eee905abb5086a29e1d90a..c85cbf5a4758c8c08ef43dd65d9f85669c0063f2 100644 (file)
@@ -538,7 +538,7 @@ static int add(int argc, const char **argv, const char *prefix)
                { OPTION_CALLBACK, 'C', "reuse-message", &msg, "OBJECT",
                        "reuse specified note object", PARSE_OPT_NONEG,
                        parse_reuse_arg},
-               OPT_BOOLEAN('f', "force", &force, "replace existing notes"),
+               OPT__FORCE(&force, "replace existing notes"),
                OPT_END()
        };
 
@@ -594,7 +594,7 @@ static int copy(int argc, const char **argv, const char *prefix)
        struct notes_tree *t;
        const char *rewrite_cmd = NULL;
        struct option options[] = {
-               OPT_BOOLEAN('f', "force", &force, "replace existing notes"),
+               OPT__FORCE(&force, "replace existing notes"),
                OPT_BOOLEAN(0, "stdin", &from_stdin, "read objects from stdin"),
                OPT_STRING(0, "for-rewrite", &rewrite_cmd, "command",
                           "load rewriting config for <command> (implies "
@@ -804,9 +804,8 @@ static int prune(int argc, const char **argv, const char *prefix)
        struct notes_tree *t;
        int show_only = 0, verbose = 0;
        struct option options[] = {
-               OPT_BOOLEAN('n', "dry-run", &show_only,
-                           "do not remove, show only"),
-               OPT_BOOLEAN('v', "verbose", &verbose, "report pruned notes"),
+               OPT__DRY_RUN(&show_only, "do not remove, show only"),
+               OPT__VERBOSE(&verbose, "report pruned notes"),
                OPT_END()
        };
 
index 99218ba49e2c6ea7ff7185e6397bb73bca213a66..e65690ba370511072dfa1e64838eef5e5686aac9 100644 (file)
@@ -125,9 +125,8 @@ int cmd_prune(int argc, const char **argv, const char *prefix)
 {
        struct rev_info revs;
        const struct option options[] = {
-               OPT_BOOLEAN('n', "dry-run", &show_only,
-                           "do not remove, show only"),
-               OPT_BOOLEAN('v', "verbose", &verbose, "report pruned objects"),
+               OPT__DRY_RUN(&show_only, "do not remove, show only"),
+               OPT__VERBOSE(&verbose, "report pruned objects"),
                OPT_DATE(0, "expire", &expire,
                         "expire objects older than <time>"),
                OPT_END()
index eb1e3e7467ac722f4b6cc1da03f7671d21abc676..73c89ed15ba2fb0c470141499c3390b77cf1d81c 100644 (file)
@@ -109,7 +109,7 @@ int cmd_read_tree(int argc, const char **argv, const char *unused_prefix)
                  PARSE_OPT_NONEG, index_output_cb },
                OPT_SET_INT(0, "empty", &read_empty,
                            "only empty the index", 1),
-               OPT__VERBOSE(&opts.verbose_update),
+               OPT__VERBOSE(&opts.verbose_update, "be verbose"),
                OPT_GROUP("Merging"),
                OPT_SET_INT('m', NULL, &opts.merge,
                            "perform a merge in addition to a read", 1),
index 6a062821969d432d681cb810ae7fb775288160a2..cb26080956077f8c9ae02c91ffdc341293a4f9f1 100644 (file)
@@ -1200,7 +1200,7 @@ static int prune(int argc, const char **argv)
 {
        int dry_run = 0, result = 0;
        struct option options[] = {
-               OPT__DRY_RUN(&dry_run),
+               OPT__DRY_RUN(&dry_run, "dry run"),
                OPT_END()
        };
 
@@ -1512,7 +1512,7 @@ static int show_all(void)
 int cmd_remote(int argc, const char **argv, const char *prefix)
 {
        struct option options[] = {
-               OPT_BOOLEAN('v', "verbose", &verbose, "be verbose; must be placed before a subcommand"),
+               OPT__VERBOSE(&verbose, "be verbose; must be placed before a subcommand"),
                OPT_END()
        };
        int result;
index 0037be4693bbd875e644df13ce4a9fae31e7378c..5de2bceeec8c1d243ed6da70464d0c4dd60d7352 100644 (file)
@@ -243,7 +243,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
        struct commit *commit;
        char *reflog_action, msg[1024];
        const struct option options[] = {
-               OPT__QUIET(&quiet),
+               OPT__QUIET(&quiet, "be quiet, only report errors"),
                OPT_SET_INT(0, "mixed", &reset_type,
                                                "reset HEAD and index", MIXED),
                OPT_SET_INT(0, "soft", &reset_type, "reset only HEAD", SOFT),
index f3772c84de0a1f1a18123e55ae6e6983739f590b..c7b7bb37a2378aaeeddbbdfacd0f0a62337ec152 100644 (file)
@@ -139,10 +139,10 @@ static int show_only = 0, force = 0, index_only = 0, recursive = 0, quiet = 0;
 static int ignore_unmatch = 0;
 
 static struct option builtin_rm_options[] = {
-       OPT__DRY_RUN(&show_only),
-       OPT__QUIET(&quiet),
+       OPT__DRY_RUN(&show_only, "dry run"),
+       OPT__QUIET(&quiet, "do not list removed files"),
        OPT_BOOLEAN( 0 , "cached",         &index_only, "only remove from the index"),
-       OPT_BOOLEAN('f', "force",          &force,      "override the up-to-date check"),
+       OPT__FORCE(&force, "override the up-to-date check"),
        OPT_BOOLEAN('r', NULL,             &recursive,  "allow recursive removal"),
        OPT_BOOLEAN( 0 , "ignore-unmatch", &ignore_unmatch,
                                "exit with a zero status even if nothing matched"),
index be9b512eebc72984e6ff4cdd4859ab7951539e19..45f0340c3ea004822477ed70fdd14e05dfcd9bb5 100644 (file)
@@ -193,7 +193,8 @@ static const struct option show_ref_options[] = {
          "only show SHA1 hash using <n> digits",
          PARSE_OPT_OPTARG, &hash_callback },
        OPT__ABBREV(&abbrev),
-       OPT__QUIET(&quiet),
+       OPT__QUIET(&quiet,
+                  "do not print results to stdout (useful with --verify)"),
        { OPTION_CALLBACK, 0, "exclude-existing", &exclude_existing_arg,
          "pattern", "show refs from stdin that aren't in local repository",
          PARSE_OPT_OPTARG | PARSE_OPT_NONEG, exclude_existing_callback },
index ca855a5eb239f4dadccd53369e38db4e78b1d13f..dea849c3c5ec0c0a7ee0ac98e1ae62a6dacf5806 100644 (file)
@@ -30,7 +30,8 @@ int cmd_symbolic_ref(int argc, const char **argv, const char *prefix)
        int quiet = 0;
        const char *msg = NULL;
        struct option options[] = {
-               OPT__QUIET(&quiet),
+               OPT__QUIET(&quiet,
+                       "suppress error message for non-symbolic (detached) refs"),
                OPT_STRING('m', NULL, &msg, "reason", "reason of the update"),
                OPT_END(),
        };
index d311491e492787ae50aa172f51629abea53eec19..d1d7d8701db23dfa0db0fb3457f57826b7012d41 100644 (file)
@@ -390,7 +390,7 @@ int cmd_tag(int argc, const char **argv, const char *prefix)
                OPT_BOOLEAN('s', NULL, &sign, "annotated and GPG-signed tag"),
                OPT_STRING('u', NULL, &keyid, "key-id",
                                        "use another key to sign the tag"),
-               OPT_BOOLEAN('f', "force", &force, "replace the tag if exists"),
+               OPT__FORCE(&force, "replace the tag if exists"),
 
                OPT_GROUP("Tag listing options"),
                {
index 2b3fddcc69087d856b6a9c9f4383c5577a759c77..b90dce6358153b274a1e26afde9cc89aad473d14 100644 (file)
@@ -11,8 +11,7 @@ int cmd_update_server_info(int argc, const char **argv, const char *prefix)
 {
        int force = 0;
        struct option options[] = {
-               OPT_BOOLEAN('f', "force", &force,
-                       "update the info files from scratch"),
+               OPT__FORCE(&force, "update the info files from scratch"),
                OPT_END()
        };
 
index 9f482c29f516bde84023f401b28b133c1e605333..8136dba7a1a43bf90cd213a30a7f1a57a1248ac3 100644 (file)
@@ -93,7 +93,7 @@ int cmd_verify_tag(int argc, const char **argv, const char *prefix)
 {
        int i = 1, verbose = 0, had_error = 0;
        const struct option verify_tag_options[] = {
-               OPT__VERBOSE(&verbose),
+               OPT__VERBOSE(&verbose, "print tag contents"),
                OPT_END()
        };
 
index d982f0f1bf181f00f54861eb768504007490e95d..ae8647d8932512a49f5a7f9bc9decee34964976b 100644 (file)
@@ -198,14 +198,15 @@ extern int parse_opt_verbosity_cb(const struct option *, const char *, int);
 extern int parse_opt_with_commit(const struct option *, const char *, int);
 extern int parse_opt_tertiary(const struct option *, const char *, int);
 
-#define OPT__VERBOSE(var)  OPT_BOOLEAN('v', "verbose", (var), "be verbose")
-#define OPT__QUIET(var)    OPT_BOOLEAN('q', "quiet",   (var), "be quiet")
+#define OPT__VERBOSE(var, h)  OPT_BOOLEAN('v', "verbose", (var), (h))
+#define OPT__QUIET(var, h)    OPT_BOOLEAN('q', "quiet",   (var), (h))
 #define OPT__VERBOSITY(var) \
        { OPTION_CALLBACK, 'v', "verbose", (var), NULL, "be more verbose", \
          PARSE_OPT_NOARG, &parse_opt_verbosity_cb, 0 }, \
        { OPTION_CALLBACK, 'q', "quiet", (var), NULL, "be more quiet", \
          PARSE_OPT_NOARG, &parse_opt_verbosity_cb, 0 }
-#define OPT__DRY_RUN(var)  OPT_BOOLEAN('n', "dry-run", (var), "dry run")
+#define OPT__DRY_RUN(var, h)  OPT_BOOLEAN('n', "dry-run", (var), (h))
+#define OPT__FORCE(var, h)    OPT_BOOLEAN('f', "force",   (var), (h))
 #define OPT__ABBREV(var)  \
        { OPTION_CALLBACK, 0, "abbrev", (var), "n", \
          "use <n> digits to display SHA-1s", \
index acd1a2ba70fc2ffb38cd8fb0784aa6e5e693183f..0828592162cc7c61f0d025ba4d83fc29bc4c2067 100644 (file)
@@ -66,9 +66,9 @@ int main(int argc, const char **argv)
                  "negative ambiguity", PARSE_OPT_NOARG | PARSE_OPT_NONEG },
                OPT_GROUP("Standard options"),
                OPT__ABBREV(&abbrev),
-               OPT__VERBOSE(&verbose),
-               OPT__DRY_RUN(&dry_run),
-               OPT__QUIET(&quiet),
+               OPT__VERBOSE(&verbose, "be verbose"),
+               OPT__DRY_RUN(&dry_run, "dry run"),
+               OPT__QUIET(&quiet, "be quiet"),
                OPT_END(),
        };
        int i;