]> git.ipfire.org Git - thirdparty/git.git/commitdiff
doc txt & -h consistency: make "annotate" consistent
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 13 Oct 2022 15:39:20 +0000 (17:39 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 13 Oct 2022 16:32:57 +0000 (09:32 -0700)
The cmd_blame() already detected whether it was processing "blame" or
"annotate", but it didn't adjust its usage output accordingly. Let's
do that.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-annotate.txt
builtin/blame.c

index e44a831339d4a6d7f9ca3d9879dbb5a9b4ffac0a..5ae8aabe0f88c69dbf70cf0075f2a29041437ccd 100644 (file)
@@ -8,7 +8,7 @@ git-annotate - Annotate file lines with commit information
 SYNOPSIS
 --------
 [verse]
-'git annotate' [<options>] <file> [<revision>]
+'git annotate' [<options>] [<rev-opts>] [<rev>] [--] <file>
 
 DESCRIPTION
 -----------
index a9fe8cf7a68bf31547b7482a40eb269f6ea0c30f..71f925e456c34513b85e64e7dd6a72d510a8307e 100644 (file)
@@ -30,6 +30,7 @@
 #include "tag.h"
 
 static char blame_usage[] = N_("git blame [<options>] [<rev-opts>] [<rev>] [--] <file>");
+static char annotate_usage[] = N_("git annotate [<options>] [<rev-opts>] [<rev>] [--] <file>");
 
 static const char *blame_opt_usage[] = {
        blame_usage,
@@ -38,6 +39,13 @@ static const char *blame_opt_usage[] = {
        NULL
 };
 
+static const char *annotate_opt_usage[] = {
+       annotate_usage,
+       "",
+       N_("<rev-opts> are documented in git-rev-list(1)"),
+       NULL
+};
+
 static int longest_file;
 static int longest_author;
 static int max_orig_digits;
@@ -899,6 +907,8 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
        long anchor;
        const int hexsz = the_hash_algo->hexsz;
        long num_lines = 0;
+       const char *str_usage = cmd_is_annotate ? annotate_usage : blame_usage;
+       const char **opt_usage = cmd_is_annotate ? annotate_opt_usage : blame_opt_usage;
 
        setup_default_color_by_age();
        git_config(git_blame_config, &output_option);
@@ -914,7 +924,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
        parse_options_start(&ctx, argc, argv, prefix, options,
                            PARSE_OPT_KEEP_DASHDASH | PARSE_OPT_KEEP_ARGV0);
        for (;;) {
-               switch (parse_options_step(&ctx, options, blame_opt_usage)) {
+               switch (parse_options_step(&ctx, options, opt_usage)) {
                case PARSE_OPT_NON_OPTION:
                case PARSE_OPT_UNKNOWN:
                        break;
@@ -934,7 +944,7 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
                        ctx.argv[0] = "--children";
                        reverse = 1;
                }
-               parse_revision_opt(&revs, &ctx, options, blame_opt_usage);
+               parse_revision_opt(&revs, &ctx, options, opt_usage);
        }
 parse_done:
        revision_opts_finish(&revs);
@@ -1040,7 +1050,7 @@ parse_done:
                switch (argc - dashdash_pos - 1) {
                case 2: /* (1b) */
                        if (argc != 4)
-                               usage_with_options(blame_opt_usage, options);
+                               usage_with_options(opt_usage, options);
                        /* reorder for the new way: <rev> -- <path> */
                        argv[1] = argv[3];
                        argv[3] = argv[2];
@@ -1051,11 +1061,11 @@ parse_done:
                        argv[argc] = NULL;
                        break;
                default:
-                       usage_with_options(blame_opt_usage, options);
+                       usage_with_options(opt_usage, options);
                }
        } else {
                if (argc < 2)
-                       usage_with_options(blame_opt_usage, options);
+                       usage_with_options(opt_usage, options);
                if (argc == 3 && is_a_rev(argv[argc - 1])) { /* (2b) */
                        path = add_prefix(prefix, argv[1]);
                        argv[1] = argv[2];
@@ -1113,7 +1123,7 @@ parse_done:
                                    nth_line_cb, &sb, lno, anchor,
                                    &bottom, &top, sb.path,
                                    the_repository->index))
-                       usage(blame_usage);
+                       usage(str_usage);
                if ((!lno && (top || bottom)) || lno < bottom)
                        die(Q_("file %s has only %lu line",
                               "file %s has only %lu lines",