name-rev: make --stdin hidden
PATCH 1/1 name-rev: make --stdin hidden
From: John Cai <[email protected]>
In 34ae3b70 (name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.
Make the option hidden. Also, update documentation to remove all mentions of --stdin.
---
name-rev: make --stdin hidden
The next step of replacing name-rev --stdin with --annotate-stdin is to make --stdin hidden. This patch also updates documentation to get rid of any mention of --stdin.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1225%2Fjohn-cai%2Fjc%2Fhide-name-rev-stdin-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1225/john-cai/jc/hide-name-rev-stdin-v1
Pull-Request: https://github.com/git/git/pull/1225
Documentation/git-name-rev.txt | 8 ++------ builtin/name-rev.c | 6 +++++- 2 files changed, 7 insertions(+), 7 deletions(-)
Documentation/git-name-rev.txt +2 -6
@@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git name-rev' [--tags] [--refs=<pattern>] - ( --all | --stdin | <commit-ish>... ) + ( --all | --annotate-stdin | <commit-ish>... ) DESCRIPTION -----------
@@ -70,10 +70,6 @@ The full name after substitution is master, while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad ----------- ---stdin:: - This option is deprecated in favor of 'git name-rev --annotate-stdin'. - They are functionally equivalent. - --name-only:: Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix of
@@ -107,7 +103,7 @@ Now you are wiser, because you know that it happened 940 revisions before v0.99. Another nice thing you can do is: ------------ -% git log | git name-rev --stdin +% git log | git name-rev --annotate-stdin ------------ GIT
builtin/name-rev.c +5 -1
@@ -538,7 +538,11 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix) N_("ignore refs matching <pattern>")),OPT_GROUP ("" ),OPT_BOOL (0 ,"all" , &all,N_ ("list all commits reachable from all refs" )), -OPT_BOOL (0 ,"stdin" , &transform_stdin,N_ ("deprecated: use annotate-stdin instead" )), +OPT_BOOL_F (0 , +"stdin" , + &transform_stdin, +N_ ("deprecated: use annotate-stdin instead" ), +PARSE_OPT_HIDDEN ),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,
base-commit: c2162907e9aa884bdb70208389cb99b181620d51
Signature · 1 line
gitgitgadget
Quoted 6 lines · John Cai via GitGitGadget
From: John Cai <[email protected]>
In
34ae3b70(name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.
May be. As 34ae3b70 is not even in any released version yet, it is a bit premature to talk about "The next step". Perhaps hold onto this change for a few releases?
Thanks.
Hi Junio
Quoted 4 lines · Junio C Hamano
Quoted 2 lines · John Cai via GitGitGadget
From: John Cai <[email protected]>
Quoted 8 lines
Quoted 4 lines
In
34ae3b70(name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.May be. As
34ae3b70is not even in any released version yet, it is a bit premature to talk about "The next step". Perhaps hold onto this change for a few releases?
Sounds good. I may have been over-eager :)
Quoted 2 lines
Thanks.
PATCH v2 1/1 name-rev: make --stdin hidden
In reply to John Cai via GitGitGadgetFrom: John Cai <[email protected]>
In 34ae3b70 (name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.
Make the option hidden. Also, update documentation to remove all mentions of --stdin.
---
name-rev: make --stdin hidden
Now that --stdin has been deprecated for several releases, the next step of replacing name-rev --stdin with --annotate-stdin is to make --stdin hidden. This patch also updates documentation to get rid of any mention of --stdin.
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1225%2Fjohn-cai%2Fjc%2Fhide-name-rev-stdin-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1225/john-cai/jc/hide-name-rev-stdin-v2
Pull-Request: https://github.com/git/git/pull/1225
Range-diff vs v1:
1: 32c8db2f03a ! 1: 904cd2c3572 name-rev: make --stdin hidden
@@ builtin/name-rev.c: int cmd_name_rev(int argc, const char **argv, const char *pr
N_("ignore refs matching <pattern>")),
OPT_GROUP(""),
OPT_BOOL(0, "all", &all, N_("list all commits reachable from all refs")),
-- OPT_BOOL(0, "stdin", &transform_stdin, N_("deprecated: use annotate-stdin instead")),
+- OPT_BOOL(0, "stdin", &transform_stdin, N_("deprecated: use --annotate-stdin instead")),
+ OPT_BOOL_F(0,
+ "stdin",
+ &transform_stdin,
-+ N_("deprecated: use annotate-stdin instead"),
++ N_("deprecated: use --annotate-stdin instead"),
+ PARSE_OPT_HIDDEN),
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)")),Documentation/git-name-rev.txt | 8 ++------ builtin/name-rev.c | 6 +++++- 2 files changed, 7 insertions(+), 7 deletions(-)
Documentation/git-name-rev.txt +2 -6
@@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git name-rev' [--tags] [--refs=<pattern>] - ( --all | --stdin | <commit-ish>... ) + ( --all | --annotate-stdin | <commit-ish>... ) DESCRIPTION -----------
@@ -70,10 +70,6 @@ The full name after substitution is master, while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad ----------- ---stdin:: - This option is deprecated in favor of 'git name-rev --annotate-stdin'. - They are functionally equivalent. - --name-only:: Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix of
@@ -107,7 +103,7 @@ Now you are wiser, because you know that it happened 940 revisions before v0.99. Another nice thing you can do is: ------------ -% git log | git name-rev --stdin +% git log | git name-rev --annotate-stdin ------------ GIT
builtin/name-rev.c +5 -1
@@ -573,7 +573,11 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix) N_("ignore refs matching <pattern>")),OPT_GROUP ("" ),OPT_BOOL (0 ,"all" , &all,N_ ("list all commits reachable from all refs" )), -OPT_BOOL (0 ,"stdin" , &transform_stdin,N_ ("deprecated: use --annotate-stdin instead" )), +OPT_BOOL_F (0 , +"stdin" , + &transform_stdin, +N_ ("deprecated: use --annotate-stdin instead" ), +PARSE_OPT_HIDDEN ),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,
base-commit: 69c786637d7a7fe3b2b8f7d989af095f5f49c3a8
Signature · 1 line
gitgitgadget
Quoted 7 lines · John Cai via GitGitGadget
In
34ae3b70(name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.Make the option hidden. Also, update documentation to remove all mentions of --stdin.
Eradicating all mention of --stdin from the documentation makes it more hostile for end-users, doesn't it? If someone runs across --stdin in a blog post or in some in-the-wild script, then this makes it more difficult to learn what the option does. In other such cases, rather than purging all mention from documentation, we've instead mentioned the deprecated option only as a minor aside of the option which replaces it. For instance:
--annotate-stdin::
Transform stdin by ... omitting $hex altogether. --stdin is a deprecated synonym.
Quoted 1 line
Signed-off-by "John Cai" <[email protected]>
Quoted 10 lines · John Cai via GitGitGadget
From: John Cai <[email protected]>
In
34ae3b70(name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.Make the option hidden. Also, update documentation to remove all mentions of --stdin.
Quoted 8 lines
Signed-off-by "John Cai" <[email protected]>---
name-rev: make --stdin hiddenNow that --stdin has been deprecated for several releases, the next step of replacing name-rev --stdin with --annotate-stdin is to make --stdin hidden. This patch also updates documentation to get rid of any mention of --stdin.
Nice. It has been a year, and I agree that it is about time.
Thanks for not forgetting about the topic.
Quoted 2 lines
-+
N_("deprecated: use annotate-stdin instead"),
++N_("deprecated: use --annotate-stdin instead"),
And of course this one is a very nice touch, relative to the previous round.
Quoted 16 lines
+ PARSE_OPT_HIDDEN),Documentation/git-name-rev.txt +1
-1@@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git name-rev' [--tags] [--refs=<pattern>] - ( --all | --stdin | <commit-ish>... ) + ( --all | --annotate-stdin | <commit-ish>... ) DESCRIPTION -----------
Documentation/git-name-rev.txt The full name after substitution is master, · line 75
Quoted 10 lines
Documentation/git-name-rev.txt +0
-4@@ -70,10 +70,6 @@ The full name after substitution is master, while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad ----------- ---stdin:: - This option is deprecated in favor of 'git name-rev --annotate-stdin'. - They are functionally equivalent. - --name-only:: Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix of
I agree with the main thrust of the change, but I am not sure if it is a good idea to "completely" remove the mention.
Even after we stop talking about it, people find old scriptlets that use "name-rev --stdin" from various random places on the Internet, and wonder if they are buggy. I wonder if having something like this for a year or two may help? We would need to scan for "was called" and decide to clean them up once in a while, of course.
Will queue as is. Thanks.
Documentation/git-name-rev.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Documentation/git-name-rev.txt +2 -1
@@ -46,7 +46,8 @@ OPTIONS Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)". When used with --name-only, substitute with "$rev_name", omitting $hex - altogether. + altogether. This option was called `--stdin` in older + versions of Git. + For example: +
Hi Junio,
Quoted 61 lines · Junio C Hamano
Quoted 10 lines · John Cai via GitGitGadget
From: John Cai <[email protected]>
In
34ae3b70(name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.Make the option hidden. Also, update documentation to remove all mentions of --stdin.
Quoted 8 lines
Signed-off-by "John Cai" <[email protected]>---
name-rev: make --stdin hiddenNow that --stdin has been deprecated for several releases, the next step of replacing name-rev --stdin with --annotate-stdin is to make --stdin hidden. This patch also updates documentation to get rid of any mention of --stdin.
Nice. It has been a year, and I agree that it is about time.
Thanks for not forgetting about the topic.
Quoted 2 lines
-+
N_("deprecated: use annotate-stdin instead"),
++N_("deprecated: use --annotate-stdin instead"),And of course this one is a very nice touch, relative to the previous round.
Quoted 16 lines
+ PARSE_OPT_HIDDEN),Documentation/git-name-rev.txt +1
-1@@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git name-rev' [--tags] [--refs=<pattern>] - ( --all | --stdin | <commit-ish>... ) + ( --all | --annotate-stdin | <commit-ish>... ) DESCRIPTION -----------Documentation/git-name-rev.txt The full name after substitution is master, · line 75
Quoted 10 lines
Documentation/git-name-rev.txt +0
-4@@ -70,10 +70,6 @@ The full name after substitution is master, while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad ----------- ---stdin:: - This option is deprecated in favor of 'git name-rev --annotate-stdin'. - They are functionally equivalent. - --name-only:: Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix ofI agree with the main thrust of the change, but I am not sure if it is a good idea to "completely" remove the mention.
Quoted 5 lines
Even after we stop talking about it, people find old scriptlets that use "name-rev --stdin" from various random places on the Internet, and wonder if they are buggy. I wonder if having something like this for a year or two may help? We would need to scan for "was called" and decide to clean them up once in a while, of course.
Yeah, that's valid.
Quoted 11 lines
Will queue as is. Thanks.
Documentation/git-name-rev.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)Documentation/git-name-rev.txt +0
-0
Documentation/git-name-rev.txt OPTIONS · line 53
Quoted 9 lines
Documentation/git-name-rev.txt +2
-1@@ -46,7 +46,8 @@ OPTIONS Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)". When used with --name-only, substitute with "$rev_name", omitting $hex - altogether. + altogether. This option was called `--stdin` in older + versions of Git. + For example: +
Sounds good to me. Will add this in
thanks!
John
PATCH v3 1/1 name-rev: make --stdin hidden
In reply to John Cai via GitGitGadgetFrom: John Cai <[email protected]>
In 34ae3b70 (name-rev: deprecate --stdin in favor of --annotate-stdin), we renamed --stdin to --annotate-stdin for the sake of a clearer name for the option, and added text that indicates --stdin is deprecated. The next step is to hide --stdin completely.
Make the option hidden. Also, update documentation to remove all mentions of --stdin.
---
name-rev: make --stdin hidden
Now that --stdin has been deprecated for several releases, the next step of replacing name-rev --stdin with --annotate-stdin is to make --stdin hidden. This patch also updates documentation to get rid of any mention of --stdin.
Changes since v2:
* Added a reference to --stdin in the docs
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1225%2Fjohn-cai%2Fjc%2Fhide-name-rev-stdin-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1225/john-cai/jc/hide-name-rev-stdin-v3
Pull-Request: https://github.com/git/git/pull/1225
Range-diff vs v2:
1: 904cd2c3572 ! 1: dbba7c4373b name-rev: make --stdin hidden
@@ Documentation/git-name-rev.txt: SYNOPSIS
DESCRIPTION
-----------
+@@ Documentation/git-name-rev.txt: OPTIONS
+ Transform stdin by substituting all the 40-character SHA-1
+ hexes (say $hex) with "$hex ($rev_name)". When used with
+ --name-only, substitute with "$rev_name", omitting $hex
+- altogether.
++ altogether. This option was called --stdin in older versions
++ of Git.
+ +
+ For example:
+ +
@@ Documentation/git-name-rev.txt: The full name after substitution is master,
while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad
-----------
Documentation/git-name-rev.txt | 11 ++++------- builtin/name-rev.c | 6 +++++- 2 files changed, 9 insertions(+), 8 deletions(-)
Documentation/git-name-rev.txt +4 -7
@@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git name-rev' [--tags] [--refs=<pattern>] - ( --all | --stdin | <commit-ish>... ) + ( --all | --annotate-stdin | <commit-ish>... ) DESCRIPTION -----------
@@ -46,7 +46,8 @@ OPTIONS Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)". When used with --name-only, substitute with "$rev_name", omitting $hex - altogether. + altogether. This option was called `--stdin` in older versions + of Git. + For example: +
@@ -70,10 +71,6 @@ The full name after substitution is master, while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad ----------- ---stdin:: - This option is deprecated in favor of 'git name-rev --annotate-stdin'. - They are functionally equivalent. - --name-only:: Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix of
@@ -107,7 +104,7 @@ Now you are wiser, because you know that it happened 940 revisions before v0.99. Another nice thing you can do is: ------------ -% git log | git name-rev --stdin +% git log | git name-rev --annotate-stdin ------------ GIT
builtin/name-rev.c +5 -1
@@ -573,7 +573,11 @@ int cmd_name_rev(int argc, const char **argv, const char *prefix) N_("ignore refs matching <pattern>")),OPT_GROUP ("" ),OPT_BOOL (0 ,"all" , &all,N_ ("list all commits reachable from all refs" )), -OPT_BOOL (0 ,"stdin" , &transform_stdin,N_ ("deprecated: use --annotate-stdin instead" )), +OPT_BOOL_F (0 , +"stdin" , + &transform_stdin, +N_ ("deprecated: use --annotate-stdin instead" ), +PARSE_OPT_HIDDEN ),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,
base-commit: 69c786637d7a7fe3b2b8f7d989af095f5f49c3a8
Signature · 1 line
gitgitgadget
PATCH v2 1/1 name-rev: make --stdin hidden
In reply to John Cai via GitGitGadgetQuoted 9 lines · John Cai
builtin/name-rev.c +5
-1- OPT_BOOL(0, "stdin", &transform_stdin, N_("deprecated: use --annotate-stdin instead")), +OPT_BOOL_F (0 , +"stdin" , + &transform_stdin, +N_ ("deprecated: use --annotate-stdin instead" ), + PARSE_OPT_HIDDEN),
OPT_BOOL(0, "annotate-stdin", &annotate_stdin, N_("annotate text from stdin")), OPT_BOOL(0, "undefined",&allow_undefined, N_("allow to printundefinednames (default)")),
OPT_BOOL(0, "always", &always,
It seems like there is an odd indent before "&always", of course, it's not introduced by this patch.
Thanks.