git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Björn Steinbrink" <B.Steinbrink@gmx.de>
To: "Kristian Høgsberg" <krh@redhat.com>
Cc: Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	Junio C Hamano <gitster@pobox.com>,
	git@vger.kernel.org
Subject: Re: [PATCH 4/4] Implement git commit and status as a builtin commands.
Date: Tue, 6 Nov 2007 18:08:13 +0100	[thread overview]
Message-ID: <20071106170813.GA27100@atjola.homenet> (raw)
In-Reply-To: <1194367619.20020.9.camel@hinata.boston.redhat.com>

On 2007.11.06 11:46:59 -0500, Kristian Høgsberg wrote:
> On Tue, 2007-11-06 at 07:59 +0100, Björn Steinbrink wrote:
> ...
> > Note though, that Kristian had a similar check at the end of his email,
> > that included "only" (but lacked the bool conversion). The original
> > reason why I thought that it would be better was that for example
> > "git commit --all --only foo" didn't care about "only" at all. But that
> > actually was because the --all + paths usage check was broken. So the
> > fixed version actually refuses to use accept that, but with a (IMHO) not
> > so good error message:
> > 
> > $ git commit -a -o file
> > Paths with -a does not make sense.
> > 
> > Given that some people are used to just pass -a all the time, they might
> > just automatically pass it together with -o. And I think that we
> > actually want to tell them that -a + -o makes no sense instead. Just
> > like we do for -a + -i, which is kind of the complementary usage error.
> > 
> > So I'd go for a correct version of Kristian's suggestion:
> > 
> > if (!!also + !!only + !!all + !!interactive > 1)
> > 	die("Only one of --include/--only/--all/--interactive can be used.");
> 
> Good points, I will use that in the next version of the patch.  Just a
> note about the !! idiom (which I can't stand, fwiw): my version just
> added the variables, which were all integers, initialized to zero and
> incremented by the option parser when it sees the corresponding option.
> So what I had would work too, with the extra check that:
> 
>   $ git commit -a -a
> 
> etc would give the error
> 
>   Only one of --include/--only/--all/--interactive can be used.
> 
> which is acutally accurate.

Hm, why? The user used only one of them. The error message does not say
that you cannot pass the same one multiple times. And I don't think that
passing the same boolean flag twice should be treated as an usage error
either. There's no contradiction in wanting all files and, well, all
files to be committed.

Sidenote: The "or mask" stuff in the option parser would probably
prevent you from catching "-a -a" anyway, because the flag becomes truly
boolean ;-)

Björn

  reply	other threads:[~2007-11-06 17:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-02 15:33 [PATCH 1/4] Add testcase for ammending and fixing author in git commit Kristian Høgsberg
2007-11-02 15:33 ` [PATCH 2/4] Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites Kristian Høgsberg
2007-11-02 15:33   ` [PATCH 3/4] Export launch_editor() and make it accept ':' as a no-op editor Kristian Høgsberg
2007-11-02 15:33     ` [PATCH 4/4] Implement git commit and status as a builtin commands Kristian Høgsberg
2007-11-03 13:56       ` Johannes Schindelin
2007-11-08 16:01         ` Kristian Høgsberg
2007-11-03 15:06       ` Björn Steinbrink
2007-11-05 18:57         ` Kristian Høgsberg
2007-11-05 19:23           ` Björn Steinbrink
2007-11-05 23:18             ` Johannes Schindelin
2007-11-06  6:59               ` Björn Steinbrink
2007-11-06 16:46                 ` Kristian Høgsberg
2007-11-06 17:08                   ` Björn Steinbrink [this message]
2007-11-06  9:12               ` Pierre Habouzit
2007-11-06  9:18                 ` Johannes Sixt
2007-11-06  9:26                   ` Pierre Habouzit
2007-11-06  9:47                     ` Andreas Ericsson
2007-11-06 16:42                 ` Kristian Høgsberg
2007-11-02 15:46     ` [PATCH 3/4] Export launch_editor() and make it accept ':' as a no-op editor Andreas Ericsson
2007-11-02 16:16       ` Kristian Høgsberg
2007-11-02 20:09   ` [PATCH 2/4] Remove unecessary hard-coding of EDITOR=':' VISUAL=':' in some test suites Junio C Hamano
2007-11-02 20:07 ` [PATCH 1/4] Add testcase for ammending and fixing author in git commit Junio C Hamano
2007-11-02 21:13   ` Kristian Høgsberg
2007-11-02 22:33     ` 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=20071106170813.GA27100@atjola.homenet \
    --to=b.steinbrink@gmx.de \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=krh@redhat.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).