Re: git status -u is mildly astonishing
- From
Matthieu Moy <matthieu.moy@grenoble-inp.fr>
- Date
- Sep 17, 2015, 14:27 UTC
- Message-ID
- <vpqd1xhqfxg.fsf@anie.imag.fr>
- In-Reply-To
- <20150917104430.5dd73ae1@dev-05>
Alastair McGowan-Douglas <altreus@altre.us> writes:
> It seemed that the argument to -u was being ignored. It turns out that > 'no' was not actually being considered an argument to -u in the first > place.
-u takes an optional argument. We can't consider the command-line argument following u as its argument, because that would mean
git status -u --null
would be read as
git status -u=--null
> The usage string implies that -- is used to disambiguate path specs > from option arguments
Yes, but the problem here is not path specs Vs options, but anything Vs argument of the previous option.
> Therefore I would argue that -u is behaving differently from other > arguments (especially when considered across all git subcommands)
This is because you have options with non-optional argument in mind, or options that have no short version.
If I grep the source correctly, the only options accepting a short version and an optional string argument are "{merge,am,commit,revert} -S", "grep -O" and "status -u", which behave consistantly.
-- Matthieu Moy http://www-verimag.imag.fr/~moy/