]> git.ipfire.org Git - thirdparty/git.git/commitdiff
revision, rev-parse: factorize incompatibility messages about - -exclude-hidden
authorRené Scharfe <l.s.r@web.de>
Wed, 6 Dec 2023 11:51:58 +0000 (12:51 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 8 Dec 2023 22:41:03 +0000 (07:41 +0900)
Use the standard parameterized message for reporting incompatible
options to report options that are not accepted in combination with
--exclude-hidden.  This reduces the number of strings to translate and
makes the UI a bit more consistent.

Signed-off-by: René Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/rev-parse.c
revision.c
t/t6018-rev-list-glob.sh
t/t6021-rev-list-exclude-hidden.sh

index fde8861ca4e07990078258843890aef6334dd4c9..917f12244059a67b74b43c80ec59b8503b61700f 100644 (file)
@@ -893,13 +893,15 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
                        }
                        if (opt_with_value(arg, "--branches", &arg)) {
                                if (ref_excludes.hidden_refs_configured)
-                                       return error(_("--exclude-hidden cannot be used together with --branches"));
+                                       return error(_("options '%s' and '%s' cannot be used together"),
+                                                    "--exclude-hidden", "--branches");
                                handle_ref_opt(arg, "refs/heads/");
                                continue;
                        }
                        if (opt_with_value(arg, "--tags", &arg)) {
                                if (ref_excludes.hidden_refs_configured)
-                                       return error(_("--exclude-hidden cannot be used together with --tags"));
+                                       return error(_("options '%s' and '%s' cannot be used together"),
+                                                    "--exclude-hidden", "--tags");
                                handle_ref_opt(arg, "refs/tags/");
                                continue;
                        }
@@ -909,7 +911,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
                        }
                        if (opt_with_value(arg, "--remotes", &arg)) {
                                if (ref_excludes.hidden_refs_configured)
-                                       return error(_("--exclude-hidden cannot be used together with --remotes"));
+                                       return error(_("options '%s' and '%s' cannot be used together"),
+                                                    "--exclude-hidden", "--remotes");
                                handle_ref_opt(arg, "refs/remotes/");
                                continue;
                        }
index 34bd386a81f96a39acbd54f3fa2112330218b1c2..70c8a92f21aa45888cc14ef89a7ef792ac54f46d 100644 (file)
@@ -2709,7 +2709,8 @@ static int handle_revision_pseudo_opt(struct rev_info *revs,
                clear_ref_exclusions(&revs->ref_excludes);
        } else if (!strcmp(arg, "--branches")) {
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --branches"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--branches");
                handle_refs(refs, revs, *flags, refs_for_each_branch_ref);
                clear_ref_exclusions(&revs->ref_excludes);
        } else if (!strcmp(arg, "--bisect")) {
@@ -2720,12 +2721,14 @@ static int handle_revision_pseudo_opt(struct rev_info *revs,
                revs->bisect = 1;
        } else if (!strcmp(arg, "--tags")) {
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --tags"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--tags");
                handle_refs(refs, revs, *flags, refs_for_each_tag_ref);
                clear_ref_exclusions(&revs->ref_excludes);
        } else if (!strcmp(arg, "--remotes")) {
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --remotes"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--remotes");
                handle_refs(refs, revs, *flags, refs_for_each_remote_ref);
                clear_ref_exclusions(&revs->ref_excludes);
        } else if ((argcount = parse_long_opt("glob", argv, &optarg))) {
@@ -2743,21 +2746,24 @@ static int handle_revision_pseudo_opt(struct rev_info *revs,
        } else if (skip_prefix(arg, "--branches=", &optarg)) {
                struct all_refs_cb cb;
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --branches"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--branches");
                init_all_refs_cb(&cb, revs, *flags);
                for_each_glob_ref_in(handle_one_ref, optarg, "refs/heads/", &cb);
                clear_ref_exclusions(&revs->ref_excludes);
        } else if (skip_prefix(arg, "--tags=", &optarg)) {
                struct all_refs_cb cb;
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --tags"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--tags");
                init_all_refs_cb(&cb, revs, *flags);
                for_each_glob_ref_in(handle_one_ref, optarg, "refs/tags/", &cb);
                clear_ref_exclusions(&revs->ref_excludes);
        } else if (skip_prefix(arg, "--remotes=", &optarg)) {
                struct all_refs_cb cb;
                if (revs->ref_excludes.hidden_refs_configured)
-                       return error(_("--exclude-hidden cannot be used together with --remotes"));
+                       return error(_("options '%s' and '%s' cannot be used together"),
+                                    "--exclude-hidden", "--remotes");
                init_all_refs_cb(&cb, revs, *flags);
                for_each_glob_ref_in(handle_one_ref, optarg, "refs/remotes/", &cb);
                clear_ref_exclusions(&revs->ref_excludes);
index 67d523d40571b89b50cc5ca655ec77198c1a3ae3..3b181f771c25a3d8a074f7d0472bf1f0422f582b 100755 (executable)
@@ -214,15 +214,13 @@ do
        for pseudoopt in branches tags remotes
        do
                test_expect_success "rev-parse --exclude-hidden=$section fails with --$pseudoopt" '
-                       echo "error: --exclude-hidden cannot be used together with --$pseudoopt" >expected &&
                        test_must_fail git rev-parse --exclude-hidden=$section --$pseudoopt 2>err &&
-                       test_cmp expected err
+                       test_grep "error: options .--exclude-hidden. and .--$pseudoopt. cannot be used together" err
                '
 
                test_expect_success "rev-parse --exclude-hidden=$section fails with --$pseudoopt=pattern" '
-                       echo "error: --exclude-hidden cannot be used together with --$pseudoopt" >expected &&
                        test_must_fail git rev-parse --exclude-hidden=$section --$pseudoopt=pattern 2>err &&
-                       test_cmp expected err
+                       test_grep "error: options .--exclude-hidden. and .--$pseudoopt. cannot be used together" err
                '
        done
 done
index cdf7aa94276cb9e993dcad825994828322e5b3ea..51df02105d7b83c3b0b1c85f95d419ac9a4bbfe1 100755 (executable)
@@ -151,12 +151,12 @@ do
        do
                test_expect_success "$section: fails with --$pseudoopt" '
                        test_must_fail git rev-list --exclude-hidden=$section --$pseudoopt 2>err &&
-                       test_grep "error: --exclude-hidden cannot be used together with --$pseudoopt" err
+                       test_grep "error: options .--exclude-hidden. and .--$pseudoopt. cannot be used together" err
                '
 
                test_expect_success "$section: fails with --$pseudoopt=pattern" '
                        test_must_fail git rev-list --exclude-hidden=$section --$pseudoopt=pattern 2>err &&
-                       test_grep "error: --exclude-hidden cannot be used together with --$pseudoopt" err
+                       test_grep "error: options .--exclude-hidden. and .--$pseudoopt. cannot be used together" err
                '
        done
 done