Re: [PATCH] gitk: fix --all behavior combined with --not
- From
Heiko Voigt <hvoigt@hvoigt.net>
- Date
- Jul 10, 2019, 07:44 UTC
- Message-ID
- <20190710074428.GA65621@book.hvoigt.net>
- In-Reply-To
- <xmqqr26zx0wr.fsf@gitster-ct.c.googlers.com>
On Mon, Jul 08, 2019 at 09:55:00PM -0700, Junio C Hamano wrote:
Show 17 quoted lines
> Junio C Hamano <gitster@pobox.com> writes:
>
> > Heiko Voigt <hvoigt@hvoigt.net> writes:
> >
> >> In commit 4d5e1b1319 ("gitk: Show detached HEAD if --all is specified",
> >> 2014-09-09) the intention was to have detached HEAD shown when the --all
> >> argument is given.
> >
> > The "do we have --all?" test added by that old commit is not quite
> > satisfying in the first place. E.g. we do not check if there is a
> > double-dash before it. This change also relies on an ancient design
> > mistake of allowing non-dashed options before a dashed one, adding
> > more to dissatisfaction by making a future change to correct the
> > design mistake harder.
>
> Actually, I do not think this patch is a good idea.
> [...]
Show 17 quoted lines
> > As the code is _already_ finding the _exact_ location on the command > line where "--all" appears, I think you can go one step further and > make sure you insert the "HEAD" immediately after "--all", as that > exactly matches what you (and the ancient 4d5e1b1319) are trying to > achieve: pretend as if "--all" always include "HEAD", even when it > is detached. > > This is orthogonal to the question I posed in my earlier reply > (i.e. "we found --all; is it really a 'give me all refs' request > given by the user, or something else (is it an argument to another > option, like "--grep '--all'", or is it pathspec after '--'), but > assuming that we have reliably found the "--all" on the command line > the user meant as "give me all refs", I think inserting HEAD > immediately after that location would be the right solution. It is > incorrect to unconditionally append as your original example shows, > but it is equally incorrect to unconditionally prepend.
Yes I agree, there are too many other use cases that my change will break. I tried to replace a hack with another quick hack, but that did not make it better.
Will reply to the other mail with some more questions.
Cheers Heiko