All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
To: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
	Jonathan Niedier <jrnieder@gmail.com>
Cc: "Nguyễn Thái Ngọc Duy" <pclouds@gmail.com>
Subject: [PATCH v2 3/4] builtins: utilize startup_info->help where possible
Date: Wed, 20 Oct 2010 10:11:59 +0700	[thread overview]
Message-ID: <1287544320-8499-3-git-send-email-pclouds@gmail.com> (raw)
In-Reply-To: <1287544320-8499-1-git-send-email-pclouds@gmail.com>

It helps reduce false alarms while I'm looking for "git foo -h" code
path that accesses repository. Anyway it looks like a good thing to
do. If one day people like to have "git foo --help" as an alternative
to "git foo -h", it would be easy.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
---
 builtin/check-ref-format.c |    2 +-
 builtin/grep.c             |    2 +-
 builtin/index-pack.c       |    2 +-
 builtin/log.c              |    6 +-----
 builtin/merge-ours.c       |    2 +-
 builtin/pack-redundant.c   |    2 +-
 builtin/show-ref.c         |    2 +-
 7 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/builtin/check-ref-format.c b/builtin/check-ref-format.c
index ae3f281..c6511e3 100644
--- a/builtin/check-ref-format.c
+++ b/builtin/check-ref-format.c
@@ -58,7 +58,7 @@ static int check_ref_format_print(const char *arg)
 
 int cmd_check_ref_format(int argc, const char **argv, const char *prefix)
 {
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage(builtin_check_ref_format_usage);
 
 	if (argc == 3 && !strcmp(argv[1], "--branch"))
diff --git a/builtin/grep.c b/builtin/grep.c
index da32f3d..ec39909 100644
--- a/builtin/grep.c
+++ b/builtin/grep.c
@@ -934,7 +934,7 @@ int cmd_grep(int argc, const char **argv, const char *prefix)
 	 * 'git grep -h', unlike 'git grep -h <pattern>', is a request
 	 * to show usage information and exit.
 	 */
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage_with_options(grep_usage, options);
 
 	memset(&opt, 0, sizeof(opt));
diff --git a/builtin/index-pack.c b/builtin/index-pack.c
index e243d9d..649ad18 100644
--- a/builtin/index-pack.c
+++ b/builtin/index-pack.c
@@ -881,7 +881,7 @@ int cmd_index_pack(int argc, const char **argv, const char *prefix)
 	struct pack_idx_entry **idx_objects;
 	unsigned char pack_sha1[20];
 
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage(index_pack_usage);
 
 	read_replace_refs = 0;
diff --git a/builtin/log.c b/builtin/log.c
index 22d1290..a7ba9ed 100644
--- a/builtin/log.c
+++ b/builtin/log.c
@@ -69,11 +69,7 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix,
 	if (default_date_mode)
 		rev->date_mode = parse_date_format(default_date_mode);
 
-	/*
-	 * Check for -h before setup_revisions(), or "git log -h" will
-	 * fail when run without a git directory.
-	 */
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage(builtin_log_usage);
 	argc = setup_revisions(argc, argv, rev, opt);
 
diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c
index 6844116..8e0777b 100644
--- a/builtin/merge-ours.c
+++ b/builtin/merge-ours.c
@@ -20,7 +20,7 @@ static const char *diff_index_args[] = {
 
 int cmd_merge_ours(int argc, const char **argv, const char *prefix)
 {
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage(builtin_merge_ours_usage);
 
 	/*
diff --git a/builtin/pack-redundant.c b/builtin/pack-redundant.c
index 41e1615..3f090b2 100644
--- a/builtin/pack-redundant.c
+++ b/builtin/pack-redundant.c
@@ -601,7 +601,7 @@ int cmd_pack_redundant(int argc, const char **argv, const char *prefix)
 	unsigned char *sha1;
 	char buf[42]; /* 40 byte sha1 + \n + \0 */
 
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage(pack_redundant_usage);
 
 	for (i = 1; i < argc; i++) {
diff --git a/builtin/show-ref.c b/builtin/show-ref.c
index be9b512..7083fa9 100644
--- a/builtin/show-ref.c
+++ b/builtin/show-ref.c
@@ -204,7 +204,7 @@ static const struct option show_ref_options[] = {
 
 int cmd_show_ref(int argc, const char **argv, const char *prefix)
 {
-	if (argc == 2 && !strcmp(argv[1], "-h"))
+	if (startup_info->help)
 		usage_with_options(show_ref_usage, show_ref_options);
 
 	argc = parse_options(argc, argv, prefix, show_ref_options,
-- 
1.7.0.2.445.gcbdb3

  parent reply	other threads:[~2010-10-20  3:12 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-20  3:11 [PATCH v2 1/4] setup_git_env: print the true $GIT_DIR for debugging Nguyễn Thái Ngọc Duy
2010-10-20  3:11 ` [PATCH v2 2/4] run_builtin(): save "-h" detection result for later use Nguyễn Thái Ngọc Duy
2010-10-21 22:57   ` Junio C Hamano
2010-10-22  1:47     ` Nguyen Thai Ngoc Duy
2010-10-20  3:11 ` Nguyễn Thái Ngọc Duy [this message]
2010-10-20  3:12 ` [PATCH v2 4/4] builtins: check for startup_info->help, print and exit early Nguyễn Thái Ngọc Duy
2010-10-22  6:38   ` [PATCH en/and-cascade-tests 0/7] Jonathan Nieder
2010-10-22  6:42     ` [PATCH 1/7] branch -h: show usage even in an invalid repository Jonathan Nieder
2010-10-22 18:30       ` Junio C Hamano
2010-10-24  7:20         ` Jonathan Nieder
2010-10-24  8:13           ` [RFC/PATCH 0/4] update-index: migrate to parse-options API Jonathan Nieder
2010-10-24  8:15             ` [PATCH 1/4] parse-options: allow git commands to invent new option types Jonathan Nieder
2010-10-25 10:31               ` Stephen Boyd
2010-11-29  4:03                 ` Jonathan Nieder
2010-10-24  8:15             ` [PATCH 2/4] parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION Jonathan Nieder
2010-10-24  8:16             ` [PATCH 3/4] setup: save prefix (original cwd relative to toplevel) in startup_info Jonathan Nieder
2010-10-24  8:18             ` [PATCH 4/4] update-index: migrate to parse-options API Jonathan Nieder
2010-10-25 10:30               ` Stephen Boyd
2010-11-30  2:34                 ` Jonathan Nieder
2010-10-24 12:50             ` [RFC/PATCH 0/4] " Nguyen Thai Ngoc Duy
2010-10-27  4:19             ` Junio C Hamano
2010-11-30  2:52             ` [PATCH/RFCv2 0/6] " Jonathan Nieder
2010-11-30  2:55               ` [PATCH 1/6] parse-options: sanity check PARSE_OPT_NOARG flag Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-12-01 23:01                   ` Junio C Hamano
2010-12-03  7:35                     ` Stephen Boyd
2010-12-01 23:36                   ` Junio C Hamano
2010-11-30  3:04               ` [PATCH 2/6] parse-options: do not infer PARSE_OPT_NOARG from option type Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-11-30  3:08               ` [PATCH 3/6] parse-options: allow git commands to invent new option types Jonathan Nieder
2010-11-30  3:09               ` [PATCH 4/6] parse-options: make resuming easier after PARSE_OPT_STOP_AT_NON_OPTION Jonathan Nieder
2010-11-30  3:10               ` [PATCH 5/6] setup: save prefix (original cwd relative to toplevel) in startup_info Jonathan Nieder
2010-11-30  3:15               ` [PATCH 6/6] update-index: migrate to parse-options API Jonathan Nieder
2010-11-30  8:13                 ` Stephen Boyd
2010-11-30 16:00                   ` [PATCH] parse-options: always show arghelp when LITERAL_ARGHELP is set Jonathan Nieder
2010-10-22  6:44     ` [PATCH 2/7] checkout-index -h: show usage even in an invalid repository Jonathan Nieder
2010-10-22  6:45     ` [PATCH 3/7] commit/status -h: show usage even with broken configuration Jonathan Nieder
2010-10-22  6:47     ` [PATCH 4/7] gc " Jonathan Nieder
2010-10-22  6:48     ` [PATCH 5/7] ls-files -h: show usage even with corrupt index Jonathan Nieder
2010-10-22 18:30       ` Junio C Hamano
2010-10-22  6:49     ` [PATCH 6/7] merge " Jonathan Nieder
2010-10-22 18:31       ` Junio C Hamano
2010-10-22  6:51     ` [PATCH 7/7] update-index " Jonathan Nieder
2010-10-22  6:55     ` [PATCH en/and-cascade-tests 0/7] avoid repository access during "git <foo> -h" Jonathan Nieder
2010-10-22 11:23     ` [PATCH en/and-cascade-tests 0/7] Nguyen Thai Ngoc Duy

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1287544320-8499-3-git-send-email-pclouds@gmail.com \
    --to=pclouds@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jrnieder@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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.