From: Ralf Thielow <ralf.thielow@gmail.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, larsxschneider@gmail.com, me@jnm2.com,
philipoakley@iee.org, john@keeping.me.uk,
Ralf Thielow <ralf.thielow@gmail.com>
Subject: [PATCH 2/2] help: make option --help open man pages only for Git commands
Date: Thu, 18 Aug 2016 20:57:19 +0200 [thread overview]
Message-ID: <20160818185719.4909-3-ralf.thielow@gmail.com> (raw)
In-Reply-To: <20160818185719.4909-2-ralf.thielow@gmail.com>
If option --help is passed to a Git command, we try to open
the man page of that command. However, we do it even for commands
we don't know. Make sure it is a Git command.
This breaks "git <concept> --help" while "git help <concept>" still works.
Signed-off-by: Ralf Thielow <ralf.thielow@gmail.com>
---
git.c | 15 ++++++++++++++-
t/t0012-help.sh | 8 ++++++++
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/git.c b/git.c
index 0f1937f..2cd2e06 100644
--- a/git.c
+++ b/git.c
@@ -528,10 +528,23 @@ static void handle_builtin(int argc, const char **argv)
strip_extension(argv);
cmd = argv[0];
- /* Turn "git cmd --help" into "git help cmd" */
+ /* Turn "git cmd --help" into "git help --command-only cmd" */
if (argc > 1 && !strcmp(argv[1], "--help")) {
+ struct argv_array args;
+ int i;
+
argv[1] = argv[0];
argv[0] = cmd = "help";
+
+ argv_array_init(&args);
+ for (i = 0; i < argc; i++) {
+ argv_array_push(&args, argv[i]);
+ if (!i)
+ argv_array_push(&args, "--command-only");
+ }
+
+ argc++;
+ argv = argv_array_detach(&args);
}
builtin = get_builtin(cmd);
diff --git a/t/t0012-help.sh b/t/t0012-help.sh
index e20f907..81fec90 100755
--- a/t/t0012-help.sh
+++ b/t/t0012-help.sh
@@ -18,4 +18,12 @@ test_expect_success "--command-only does not work for guides" "
test_i18ncmp expected actual
"
+test_expect_success "--help does not work for guides" "
+ cat <<-EOF >expected &&
+ git: 'revisions' is not a git command. See 'git --help'.
+ EOF
+ (git revisions --help 2>actual || true) &&
+ test_i18ncmp expected actual
+"
+
test_done
--
2.9.2.912.gd0c0e83
next prev parent reply other threads:[~2016-08-19 6:33 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-12 2:00 `git stash --help` tries to pull up nonexistent file gitstack.html Joseph Musser
2016-08-12 15:48 ` Junio C Hamano
2016-08-12 16:03 ` Lars Schneider
2016-08-12 16:15 ` Joseph Musser
2016-08-12 16:25 ` Junio C Hamano
2016-08-12 18:14 ` Jacob Keller
2016-08-12 20:10 ` [PATCH] help: make option --help open man pages only for Git commands Ralf Thielow
2016-08-12 21:34 ` Junio C Hamano
2016-08-12 22:53 ` Junio C Hamano
2016-08-13 0:08 ` Philip Oakley
2016-08-13 15:31 ` Junio C Hamano
2016-08-15 5:36 ` [PATCH v2] " Ralf Thielow
2016-08-15 11:25 ` Philip Oakley
2016-08-15 17:57 ` Junio C Hamano
2016-08-15 20:40 ` Philip Oakley
2016-08-15 22:19 ` Junio C Hamano
2016-08-16 10:06 ` John Keeping
2016-08-16 16:20 ` [PATCH v3] " Ralf Thielow
2016-08-16 16:33 ` John Keeping
2016-08-16 16:39 ` Ralf Thielow
2016-08-16 17:27 ` Junio C Hamano
2016-08-16 17:57 ` Ralf Thielow
2016-08-16 19:06 ` Junio C Hamano
2016-08-18 18:57 ` [PATCH 0/2] " Ralf Thielow
2016-08-18 18:57 ` [PATCH 1/2] help: introduce option --command-only Ralf Thielow
2016-08-18 18:57 ` Ralf Thielow [this message]
2016-08-18 19:51 ` [PATCH 2/2] help: make option --help open man pages only for Git commands Junio C Hamano
2016-08-23 17:34 ` Ralf Thielow
2016-08-18 21:47 ` [PATCH 1/2] help: introduce option --command-only Philip Oakley
2016-08-19 8:32 ` Johannes Schindelin
2016-08-19 15:53 ` Junio C Hamano
2016-08-23 17:41 ` Ralf Thielow
2016-08-24 7:47 ` Johannes Schindelin
2016-08-19 8:39 ` Remi Galan Alfonso
2016-08-23 17:37 ` Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 0/3] help: make option --help open man pages only for Git commands Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 1/3] Revert "display HTML in default browser using Windows' shell API" Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 2/3] help: introduce option --exclude-guides Ralf Thielow
2016-08-26 19:06 ` Junio C Hamano
2016-08-26 19:42 ` Junio C Hamano
2016-08-26 20:03 ` Ralf Thielow
2016-08-26 20:28 ` Junio C Hamano
2016-08-26 20:00 ` Ralf Thielow
2016-08-26 20:20 ` Junio C Hamano
2016-08-26 20:39 ` Ralf Thielow
2016-08-26 17:58 ` [PATCH v2 3/3] help: make option --help open man pages only for Git commands Ralf Thielow
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=20160818185719.4909-3-ralf.thielow@gmail.com \
--to=ralf.thielow@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=john@keeping.me.uk \
--cc=larsxschneider@gmail.com \
--cc=me@jnm2.com \
--cc=philipoakley@iee.org \
/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).