git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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.

Previous: Ramkumar RamachandraNext: Ramkumar Ramachandra
Message 23 of 45 in “[BUG] Highly inconsistent diff UI”
  1. Ramkumar RamachandraApr 24, 2013
  2. Jonathan NiederApr 24, 2013
  3. Junio C HamanoApr 24, 2013
  4. Ramkumar RamachandraApr 24, 2013
  5. Jonathan NiederApr 24, 2013
  6. Junio C HamanoApr 24, 2013
  7. Ramkumar RamachandraApr 24, 2013
  8. Junio C HamanoApr 24, 2013
  9. Ramkumar RamachandraApr 24, 2013
  10. Junio C HamanoApr 24, 2013
  11. Ramkumar RamachandraApr 24, 2013
  12. Ramkumar RamachandraApr 24, 2013
  13. Junio C HamanoApr 24, 2013
  14. Ramkumar RamachandraApr 24, 2013
  15. Junio C HamanoApr 24, 2013
  16. Ramkumar RamachandraApr 24, 2013
  17. Thomas RastApr 24, 2013
  18. Ramkumar RamachandraApr 24, 2013
  19. Jonathan NiederApr 24, 2013
  20. Ramkumar RamachandraApr 24, 2013
  21. Thomas RastApr 25, 2013
  22. Ramkumar RamachandraApr 25, 2013
  23. Junio C HamanoApr 25, 2013
  24. Ramkumar RamachandraApr 25, 2013
  25. Jonathan NiederApr 25, 2013
  26. Junio C HamanoApr 25, 2013
  27. Duy NguyenApr 26, 2013
  28. Phil HordApr 24, 2013
  29. Junio C HamanoApr 24, 2013
  30. Ramkumar RamachandraApr 24, 2013
  31. Ramkumar RamachandraApr 24, 2013
  32. Junio C HamanoApr 25, 2013
  33. Ramkumar RamachandraApr 25, 2013
  34. Ramkumar RamachandraApr 25, 2013
  35. Ramkumar RamachandraApr 26, 2013
  36. Ramkumar RamachandraApr 26, 2013
  37. Junio C HamanoApr 29, 2013
  38. Ramkumar RamachandraApr 29, 2013
  39. Junio C HamanoApr 29, 2013
  40. Ramkumar RamachandraApr 29, 2013
  41. Ramkumar RamachandraApr 29, 2013
  42. Junio C HamanoApr 29, 2013
  43. Ramkumar RamachandraApr 29, 2013
  44. John KeepingApr 29, 2013
  45. Ramkumar RamachandraApr 25, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.