From: "John Cai via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
John Cai <johncai86@gmail.com>
Subject: [PATCH v4 0/2] name-rev: deprecate --stdin in favor of --annotate-stdin
Date: Tue, 04 Jan 2022 14:49:34 +0000 [thread overview]
Message-ID: <pull.1171.v4.git.git.1641307776.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1171.v3.git.git.1641221261.gitgitgadget@gmail.com>
Introduce a --annotate-stdin that is functionally equivalent of --stdin.
--stdin does not behave as --stdin in other subcommands, such as
pack-objects whereby it takes one argument per line. Since --stdin can be a
confusing and misleading name, the goal is to rename it to --annotate-stdin.
This is the first step in a process of eventually fully deprecating --stdin.
This change also adds a warning to --stdin warning that it will be removed
in the future.
See https://lore.kernel.org/git/xmqqsfuh1pxz.fsf@gitster.g/ for discussion.
changes since v3:
* use strbuf_getline instead of strbuf_getwholeline (based on Junio's
feedback)
* fixed commit message s/annotate-text/annotate-stdin (based on Junio's
feedback)
* since strbuf_getline does not keep the trailing terminator, add back '\n'
with strbuf_addchr
* reordered documentation blocks based on (Philip Oakley's feedback)
* fixed doc typos in example block
John Cai (2):
name-rev: deprecate --stdin in favor of --annotate-stdin
name-rev.c: use strbuf_getline instead of limited size buffer
Documentation/git-name-rev.txt | 30 ++++++++++++++++++++++++++--
builtin/name-rev.c | 28 ++++++++++++++++----------
t/t3412-rebase-root.sh | 2 +-
t/t4202-log.sh | 2 +-
t/t6007-rev-list-cherry-pick-file.sh | 26 ++++++++++++------------
t/t6012-rev-list-simplify.sh | 2 +-
t/t6111-rev-list-treesame.sh | 3 ++-
t/t6120-describe.sh | 9 +++++++--
8 files changed, 71 insertions(+), 31 deletions(-)
base-commit: c8b2ade48c204690119936ada89cd938c476c5c2
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1171%2Fjohn-cai%2Fjc%2Fdeprecate-name-rev-stdin-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1171/john-cai/jc/deprecate-name-rev-stdin-v4
Pull-Request: https://github.com/git/git/pull/1171
Range-diff vs v3:
1: 55ec2a5fa3e ! 1: 4e9200922a4 name-rev: deprecate --stdin in favor of --annotate-text
@@ Metadata
Author: John Cai <johncai86@gmail.com>
## Commit message ##
- name-rev: deprecate --stdin in favor of --annotate-text
+ name-rev: deprecate --stdin in favor of --annotate-stdin
- Introduce a --annotate-text that is functionally equivalent of --stdin.
+ Introduce a --annotate-stdin that is functionally equivalent of --stdin.
--stdin does not behave as --stdin in other subcommands, such as
pack-objects whereby it takes one argument per line. Since --stdin can
- be a confusing and misleading name, rename it to --annotate-text.
+ be a confusing and misleading name, rename it to --annotate-stdin.
This change adds a warning to --stdin warning that it will be removed in
the future.
@@ Commit message
## Documentation/git-name-rev.txt ##
@@ Documentation/git-name-rev.txt: OPTIONS
+ --all::
List all commits reachable from all refs
- --stdin::
-+ This option is deprecated in favor of 'git name-rev --annotate-stdin'.
-+ They are functionally equivalent.
-+
+---stdin::
+--annotate-stdin::
Transform stdin by substituting all the 40-character SHA-1
hexes (say $hex) with "$hex ($rev_name)". When used with
@@ Documentation/git-name-rev.txt: OPTIONS
- altogether. Intended for the scripter's use.
+ altogether.
+
-+ For example:
-++
++For example:
++
+----------
+$ cat sample.txt
+
@@ Documentation/git-name-rev.txt: OPTIONS
+$ git name-rev --annotate-stdin <sample.txt
+
+An abbreviated revision 2ae0a9cb82 will not be substituted.
-+The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907
-+(master),
++The full name after substitution is 2ae0a9cb8298185a94e5998086f380a355dd8907 (master),
+while its tree object is 70d105cc79e63b81cfdcb08a15297c23e60b07ad
+
+$ git name-rev --name-only --annotate-stdin <sample.txt
+
+An abbreviated revision 2ae0a9cb82 will not be substituted.
-+The full name is master,
++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
2: e4bd09ccf75 ! 2: 18f77ab9dde name-rev.c: use strbuf_getline instead of limited size buffer
@@ builtin/name-rev.c: int cmd_name_rev(int argc, const char **argv, const char *pr
- if (!p)
- break;
- name_rev_line(p, &data);
-+ while (strbuf_getwholeline(&sb, stdin, '\n') != EOF) {
++ while (strbuf_getline(&sb, stdin) != EOF) {
++ strbuf_addch(&sb, '\n');
+ name_rev_line(sb.buf, &data);
}
+ strbuf_release(&sb);
--
gitgitgadget
next prev parent reply other threads:[~2022-01-04 14:49 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-26 4:28 [PATCH] name-rev: deprecate --stdin in favor of --annotate-text John Cai via GitGitGadget
2021-12-27 19:49 ` Junio C Hamano
2021-12-28 5:13 ` John Cai
2021-12-31 8:16 ` Junio C Hamano
2022-01-01 22:59 ` Johannes Schindelin
2021-12-29 6:23 ` [PATCH v2 0/2] name-rev: deprecate --stdin in favor of --anotate-text John Cai via GitGitGadget
2021-12-29 6:23 ` [PATCH v2 1/2] name-rev: deprecate --stdin in favor of --annotate-text John Cai via GitGitGadget
2021-12-30 22:36 ` Junio C Hamano
2021-12-29 6:23 ` [PATCH v2 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-03 14:47 ` [PATCH v3 0/2] name-rev: deprecate --stdin in favor of --annotate-stdin John Cai via GitGitGadget
2022-01-03 14:47 ` [PATCH v3 1/2] name-rev: deprecate --stdin in favor of --annotate-text John Cai via GitGitGadget
2022-01-04 2:36 ` Junio C Hamano
2022-01-04 3:16 ` Junio C Hamano
2022-01-04 13:25 ` Philip Oakley
2022-01-04 19:00 ` Junio C Hamano
2022-01-04 19:38 ` Eric Sunshine
2022-01-03 14:47 ` [PATCH v3 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-04 2:16 ` Junio C Hamano
2022-01-04 14:49 ` John Cai via GitGitGadget [this message]
2022-01-04 14:49 ` [PATCH v4 1/2] name-rev: deprecate --stdin in favor of --annotate-stdin John Cai via GitGitGadget
2022-01-04 22:12 ` Junio C Hamano
2022-01-05 11:15 ` Phillip Wood
2022-01-05 19:47 ` Junio C Hamano
2022-01-05 19:52 ` Junio C Hamano
2022-01-04 14:49 ` [PATCH v4 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-04 14:54 ` John Cai
2022-01-05 4:20 ` [PATCH v5 0/2] name-rev: deprecate --stdin in favor of --annotate-stdin John Cai via GitGitGadget
2022-01-05 4:20 ` [PATCH v5 1/2] " John Cai via GitGitGadget
2022-01-05 20:07 ` Junio C Hamano
2022-01-05 4:20 ` [PATCH v5 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-05 22:59 ` [PATCH v6 0/2] name-rev: deprecate --stdin in favor of --annotate-stdin John Cai via GitGitGadget
2022-01-05 22:59 ` [PATCH v6 1/2] " John Cai via GitGitGadget
2022-01-05 23:00 ` [PATCH v6 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-05 23:12 ` [PATCH v6 0/2] name-rev: deprecate --stdin in favor of --annotate-stdin Junio C Hamano
2022-01-05 23:29 ` [PATCH v7 " John Cai via GitGitGadget
2022-01-05 23:29 ` [PATCH v7 1/2] " John Cai via GitGitGadget
2022-01-08 13:47 ` John Cai
2022-01-10 17:38 ` Junio C Hamano
2022-01-10 19:01 ` John Cai
2022-01-10 19:11 ` Junio C Hamano
2022-01-11 11:01 ` Phillip Wood
2022-01-05 23:29 ` [PATCH v7 2/2] name-rev.c: use strbuf_getline instead of limited size buffer John Cai via GitGitGadget
2022-01-18 16:09 ` Ævar Arnfjörð Bjarmason
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1171.v4.git.git.1641307776.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=johncai86@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).