Re: [BUG] Highly inconsistent diff UI
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Apr 25, 2013, 16:37 UTC
- Message-ID
- <7va9om5zxu.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <87li87awwc.fsf@linux-k42r.v.cablecom.net>
Thomas Rast <trast@inf.ethz.ch> writes:
> What's the problem with cooking it for a while? You can start using it > immediately. I'm just somewhat annoyed that the syntax is rapidly > converging to Perl-style line noise.
Not quite, not quite, and a mild agreement.
Adding an obscure feature that may not be useful at all behind a command line option will fall into the "you can afford to cook for a while, you can use it immediately yourself, nobody will get hurt" category. Adding a configuration to turn such a feature by default on already is a more severe problem because we need to adjust and protect scripted Porcelains from getting hurt by an unexpected new behaviour user may trigger by setting such a configuration before it fully cooks, which is annoying maintenance burden for an obscure feature with an unknown value.
Piling cruft on syntax is in a totally different league. If not carefully thought out, adding a random new syntax on a whim can paint us into a corner we cannot later get out of, like the ":/" we recently discussed (which does have an escape hatch planned, but imagine a world without one).
Show 6 quoted lines
> I already hate half of the existing syntax, and I cannot remember using
> ^! (except while investigating what 'git diff C^!' does and why not),
> ^@, @{-N} (only the related 'git checkout -'), @{date} and @{relative},
> ^{}, :/foo, and ^{/foo}, *at all*.
>
> In fact I had to look up the second half of that list on the manpage.I would have actually expected that people are more familiar with the second half, i.e. @{2.weeks.ago}, @{4} and :/string, than ^!/^@ which I agree were more-or-less "let's add a random cruft on a whim without thinking things through" mistakes.