From: Jeff King Date: Fri, 02 Oct 2009 07:57:24 GMT Subject: Re: [PATCH 1/2] do not mangle short options which take arguments Message-ID: <20091002075724.GC27664@coredump.intra.peff.net> In-Reply-To: <20091002073628.GA9444@localhost> On Fri, Oct 02, 2009 at 09:36:28AM +0200, Clemens Buchacher wrote: > Yes, that syntax looks reasonable. I expect this to be more involved, so I > will rework the patch once we agree on whether or not we want it at all. Thanks. > Yes, that can happen. On the other hand, the "-ammend" typo actually did > happen. It did, but we are only guessing at how many people will be disrupted by the new rule. That being said... > And what I'm even more worried about are ambiguities like > > $ git commit -uno > $ git commit -nou > > which are interpreted as one of > > $ git commit --untracked-files=no > $ git commit --untracked-files --no-verify --only Making this clearer is a much more compelling argument to me. Though I thought it was customary (not just for git, but for other programs) that a short option that takes a parameter (even an optional one) would consume the rest of a short options string. Still, it is a potential source of confusion. > > On the other hand, the cuddled value already has some DWYM magic (it > > recognizes -amend), so it is already a little bit unsafe to use > > Well, an error message is a lot safer than executing something you did not > intend. It's also an error exit code, which can affect how a script performs (e.g., "git diff --exit-code"). But I don't have any real examples off the top of my head of how this could be particularly disastrous, so feel free to dismiss that as pushing too far into the hypothetical. -Peff