From: Karthik Nayak <karthik.188@gmail.com>
To: git@vger.kernel.org
Cc: gitster@pobox.com, sunshine@sunshineco.com,
Karthik Nayak <karthik.188@gmail.com>
Subject: [PATCH v9 2/5] cat-file: make the options mutually exclusive
Date: Wed, 29 Apr 2015 18:22:33 +0530 [thread overview]
Message-ID: <1430311953-23240-1-git-send-email-karthik.188@gmail.com> (raw)
In-Reply-To: <5540D397.8020104@gmail.com>
Currently we only parse the options if 2 or 3 arguments are specified.
Update 'struct option options[]' to use OPT_CMDMODE rather than
OPT_SET_INT to allow only one mutually exclusive option and avoid the
need for checking number of arguments. This was written by Junio C Hamano,
tested by me.
Helped-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
---
builtin/cat-file.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index df99df4..53b5376 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -362,12 +362,12 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
const struct option options[] = {
OPT_GROUP(N_("<type> can be one of: blob, tree, commit, tag")),
- OPT_SET_INT('t', NULL, &opt, N_("show object type"), 't'),
- OPT_SET_INT('s', NULL, &opt, N_("show object size"), 's'),
- OPT_SET_INT('e', NULL, &opt,
+ OPT_CMDMODE('t', NULL, &opt, N_("show object type"), 't'),
+ OPT_CMDMODE('s', NULL, &opt, N_("show object size"), 's'),
+ OPT_CMDMODE('e', NULL, &opt,
N_("exit with zero when there's no error"), 'e'),
- OPT_SET_INT('p', NULL, &opt, N_("pretty-print object's content"), 'p'),
- OPT_SET_INT(0, "textconv", &opt,
+ OPT_CMDMODE('p', NULL, &opt, N_("pretty-print object's content"), 'p'),
+ OPT_CMDMODE(0, "textconv", &opt,
N_("for blob objects, run textconv on object's content"), 'c'),
{ OPTION_CALLBACK, 0, "batch", &batch, "format",
N_("show info and content of objects fed from the standard input"),
@@ -380,9 +380,6 @@ int cmd_cat_file(int argc, const char **argv, const char *prefix)
git_config(git_cat_file_config, NULL);
- if (argc != 3 && argc != 2)
- usage_with_options(cat_file_usage, options);
-
argc = parse_options(argc, argv, prefix, options, cat_file_usage, 0);
if (opt) {
--
2.4.0.rc1.250.g565e85b
next prev parent reply other threads:[~2015-04-29 12:52 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-29 12:50 [PATCH v9 0/5] cat-file: teach cat-file a '--allow-unkown-type' option karthik nayak
2015-04-29 12:52 ` [PATCH v9 1/5] sha1_file: support reading from a loose object of unknown type Karthik Nayak
2015-04-29 14:49 ` Junio C Hamano
2015-04-29 17:50 ` karthik nayak
2015-04-29 19:35 ` Junio C Hamano
2015-04-30 4:40 ` karthik nayak
2015-04-29 12:52 ` Karthik Nayak [this message]
2015-04-29 12:53 ` [PATCH v9 3/5] cat-file: teach cat-file a '--allow-unknown-type' option Karthik Nayak
2015-04-29 14:52 ` Junio C Hamano
2015-04-29 17:43 ` karthik nayak
2015-04-29 14:53 ` Phil Hord
2015-04-29 17:44 ` karthik nayak
2015-04-29 19:38 ` Junio C Hamano
2015-04-29 12:54 ` [PATCH v9 5/5] t1006: add tests for git cat-file --allow-unkown-type Karthik Nayak
2015-04-29 21:16 ` Eric Sunshine
2015-04-29 12:56 ` [PATCH v9 4/5] cat-file: add documentation for '--allow-unkown-type' option Karthik Nayak
2015-04-29 21:13 ` Eric Sunshine
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=1430311953-23240-1-git-send-email-karthik.188@gmail.com \
--to=karthik.188@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=sunshine@sunshineco.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 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 NNTP newsgroup(s).