From: Junio C Hamano <gitster@pobox.com>
To: Charles Bailey <charles@hashpling.org>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 2/3] Move unsigned long option parsing out of pack-objects.c
Date: Fri, 19 Jun 2015 10:58:51 -0700 [thread overview]
Message-ID: <xmqq7fqza8bo.fsf@gitster.dls.corp.google.com> (raw)
In-Reply-To: <1434705059-2793-3-git-send-email-charles@hashpling.org> (Charles Bailey's message of "Fri, 19 Jun 2015 10:10:58 +0100")
Charles Bailey <charles@hashpling.org> writes:
> diff --git a/parse-options.h b/parse-options.h
> index c71e9da..2ddb26f 100644
> --- a/parse-options.h
> +++ b/parse-options.h
> @@ -18,7 +18,8 @@ enum parse_opt_type {
> OPTION_INTEGER,
> OPTION_CALLBACK,
> OPTION_LOWLEVEL_CALLBACK,
> - OPTION_FILENAME
> + OPTION_FILENAME,
> + OPTION_ULONG
> };
Please place it immediately after INTEGER, as they are conceptually
siblings---group similar things together.
> return opterror(opt, "expects a numerical value", flags);
> return 0;
>
> + case OPTION_ULONG:
This one is placed right from that point of view ;-)
> + if (unset) {
> + *(unsigned long *)opt->value = 0;
> + return 0;
> + }
> + if (opt->flags & PARSE_OPT_OPTARG && !p->opt) {
> + *(unsigned long *)opt->value = opt->defval;
> + return 0;
> + }
> + if (get_arg(p, opt, flags, &arg))
> + return -1;
> + if (!git_parse_ulong(arg, opt->value))
> + return opterror(opt, "expects a numerical value", flags);
This used to be:
> - die(_("unable to parse value '%s' for option %s"),
> - arg, opt->long_name);
but opterror() talks about which option, so there is no information
loss by losing "for option %s" from here. That means there is only
one difference for pack-objects:
$ git pack-objects --max-pack-size=1T
fatal: unable to parse value '1T' for option max-pack-size
$ ./git pack-objects --max-pack-size=1T
error: option `max-pack-size' expects a numerical value
usage: git pack-objects --stdout [options...
... 30 more lines omitted ...
Eh, make that two:
* We no longer say what value we did not like. The user presumably
knows what he typed, so this is only a minor loss.
* We used to stop without giving "usage", as the error message was
specific enough. We now spew descriptions on other options
unrelated to the specific error the user may want to concentrate
on. Perhaps this is a minor regression.
I wonder if "expects a numerical value" is the best way to say this.
Ponder:
- we do not take "4.8"
- we do not take "-4".
- people may not realize, from "numerical", that we take "5M".
Except for the minor nits above, I think this is a good change.
This is a totally unrelated tangent that does not have to be part of
your series, but we probably should take "4.8M"; I do not think we
currently do.
Oh, and perhaps 1T, too.
next prev parent reply other threads:[~2015-06-19 17:59 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-19 9:10 Improvements to parse-options and a new filter-objects command Charles Bailey
2015-06-19 9:10 ` [PATCH 1/3] Correct test-parse-options to handle negative ints Charles Bailey
2015-06-19 18:28 ` Junio C Hamano
2015-06-19 9:10 ` [PATCH 2/3] Move unsigned long option parsing out of pack-objects.c Charles Bailey
2015-06-19 11:03 ` Remi Galan Alfonso
2015-06-19 11:06 ` Charles Bailey
2015-06-19 17:58 ` Junio C Hamano [this message]
2015-06-19 18:39 ` Junio C Hamano
2015-06-20 15:31 ` Jakub Narębski
2015-06-19 18:47 ` Jakub Narębski
2015-06-20 16:51 ` Charles Bailey
2015-06-20 17:47 ` Junio C Hamano
2015-06-19 9:10 ` [PATCH 3/3] Add filter-objects command Charles Bailey
2015-06-19 10:10 ` Jeff King
2015-06-19 10:33 ` Charles Bailey
2015-06-19 10:52 ` Jeff King
2015-06-19 18:28 ` Junio C Hamano
2015-06-19 10:52 ` John Keeping
2015-06-19 11:04 ` Charles Bailey
2015-06-21 18:25 ` Improvements to integer option parsing Charles Bailey
2015-06-21 18:25 ` [PATCH 1/2] Correct test-parse-options to handle negative ints Charles Bailey
2015-06-21 18:25 ` [PATCH 2/2] Move unsigned long option parsing out of pack-objects.c Charles Bailey
2015-06-21 18:30 ` Charles Bailey
2015-06-22 22:03 ` Junio C Hamano
2015-06-22 22:08 ` Junio C Hamano
2015-06-22 22:09 ` Improvements to integer option parsing Junio C Hamano
2015-06-22 22:42 ` Charles Bailey
2015-06-21 19:20 ` Fast enumeration of objects Charles Bailey
2015-06-21 19:20 ` [PATCH] Add list-all-objects command Charles Bailey
2015-06-22 8:38 ` Jeff King
2015-06-22 10:33 ` Jeff King
2015-06-22 10:40 ` [PATCH 1/7] for_each_packed_object: automatically open pack index Jeff King
2015-06-22 10:40 ` [PATCH 2/7] cat-file: minor style fix in options list Jeff King
2015-06-22 10:41 ` [PATCH 3/7] cat-file: move batch_options definition to top of file Jeff King
2015-06-22 10:45 ` [PATCH 4/7] cat-file: add --buffer option Jeff King
2015-06-22 10:45 ` [PATCH 5/7] cat-file: stop returning value from batch_one_object Jeff King
2015-06-22 10:45 ` [PATCH 6/7] cat-file: split batch_one_object into two stages Jeff King
2015-06-22 10:45 ` [PATCH 7/7] cat-file: add --batch-all-objects option Jeff King
2015-06-26 6:56 ` Eric Sunshine
2015-06-26 15:48 ` Jeff King
2015-06-22 11:06 ` [PATCH 8/7] cat-file: sort and de-dup output of --batch-all-objects Jeff King
2015-06-22 22:03 ` Charles Bailey
2015-06-22 23:46 ` Jeff King
2015-06-22 21:48 ` [PATCH] Add list-all-objects command Charles Bailey
2015-06-22 21:50 ` Junio C Hamano
2015-06-22 23:50 ` Jeff King
2015-06-22 11:38 ` Charles Bailey
2015-06-22 9:57 ` Duy Nguyen
2015-06-22 10:24 ` Jeff King
2015-06-22 8:35 ` Fast enumeration of objects Jeff King
2015-06-22 19:44 ` Junio C Hamano
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=xmqq7fqza8bo.fsf@gitster.dls.corp.google.com \
--to=gitster@pobox.com \
--cc=charles@hashpling.org \
--cc=git@vger.kernel.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.
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.