Thomas Rast <> 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).

> 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.
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to