]> git.ipfire.org Git - thirdparty/git.git/commitdiff
name-rev: remove "--stdin" support
authorJunio C Hamano <gitster@pobox.com>
Tue, 11 Mar 2025 21:25:05 +0000 (14:25 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 12 Mar 2025 15:48:54 +0000 (08:48 -0700)
As part of Git 3.0, remove the hidden synonym for "--annotate-stdin"
for real.  As this does not change the fact that it used to be
called "--stdin" in older version of Git, keep that passage in the
documentation for "--annotate-stdin".

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/BreakingChanges.adoc
builtin/name-rev.c
t/t6120-describe.sh

index bdfad29d8a9e3d39be68dcbc854c4f7c19c8d5fe..61bdd586b9edb2314c26998a8c8e840cd549aaaf 100644 (file)
@@ -178,6 +178,12 @@ references.
 +
 These features will be removed.
 
+* Support for "--stdin" option in the "name-rev" command was
+  deprecated (and hidden from the documentation) in the Git 2.40
+  timeframe, in preference to its synonym "--annotate-stdin".  Git 3.0
+  removes the support for "--stdin" altogether.
+
+
 == Superseded features that will not be deprecated
 
 Some features have gained newer replacements that aim to improve the design in
index beac166b5cb4149e2c29e8e4ccde7cfa2ceb2d61..65f867d7a451389ab07cc062f89b2ecd4f04b0f8 100644 (file)
@@ -567,7 +567,11 @@ int cmd_name_rev(int argc,
 {
        struct mem_pool string_pool;
        struct object_array revs = OBJECT_ARRAY_INIT;
-       int all = 0, annotate_stdin = 0, transform_stdin = 0, allow_undefined = 1, always = 0, peel_tag = 0;
+
+#ifndef WITH_BREAKING_CHANGES
+       int transform_stdin = 0;
+#endif
+       int all = 0, annotate_stdin = 0, allow_undefined = 1, always = 0, peel_tag = 0;
        struct name_ref_data data = { 0, 0, STRING_LIST_INIT_NODUP, STRING_LIST_INIT_NODUP };
        struct option opts[] = {
                OPT_BOOL(0, "name-only", &data.name_only, N_("print only ref-based names (no object names)")),
@@ -578,11 +582,13 @@ int cmd_name_rev(int argc,
                                   N_("ignore refs matching <pattern>")),
                OPT_GROUP(""),
                OPT_BOOL(0, "all", &all, N_("list all commits reachable from all refs")),
+#ifndef WITH_BREAKING_CHANGES
                OPT_BOOL_F(0,
                           "stdin",
                           &transform_stdin,
                           N_("deprecated: use --annotate-stdin instead"),
                           PARSE_OPT_HIDDEN),
+#endif /* WITH_BREAKING_CHANGES */
                OPT_BOOL(0, "annotate-stdin", &annotate_stdin, N_("annotate text from stdin")),
                OPT_BOOL(0, "undefined", &allow_undefined, N_("allow to print `undefined` names (default)")),
                OPT_BOOL(0, "always",     &always,
@@ -597,12 +603,14 @@ int cmd_name_rev(int argc,
        git_config(git_default_config, NULL);
        argc = parse_options(argc, argv, prefix, opts, name_rev_usage, 0);
 
+#ifndef WITH_BREAKING_CHANGES
        if (transform_stdin) {
                warning("--stdin is deprecated. Please use --annotate-stdin instead, "
                                        "which is functionally equivalent.\n"
                                        "This option will be removed in a future release.");
                annotate_stdin = 1;
        }
+#endif
 
        if (all + annotate_stdin + !!argc > 1) {
                error("Specify either a list, or --all, not both!");
index 71e261394ae5beb085ddd29feab4f41d6d6b1fa7..256ccaefb75bb6c83f63b6a82c916a29ba622ec2 100755 (executable)
@@ -300,8 +300,14 @@ test_expect_success 'name-rev --annotate-stdin' '
 
 test_expect_success 'name-rev --stdin deprecated' '
        git rev-list --all >list &&
-       git name-rev --stdin <list 2>actual &&
-       test_grep "warning: --stdin is deprecated" actual
+       if ! test_have_prereq WITH_BREAKING_CHANGES
+       then
+               git name-rev --stdin <list 2>actual &&
+               test_grep "warning: --stdin is deprecated" actual
+       else
+               test_must_fail git name-rev --stdin <list 2>actual &&
+               test_grep "unknown option .stdin." actual
+       fi
 '
 
 test_expect_success 'describe --contains with the exact tags' '