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

Re: backwards compatibility, was Re: [PATCH v1 1/3] Introduce config variable "diff.primer"

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 26, 2009, 11:28 UTC
Message-ID
<alpine.DEB.1.00.0901261220300.14855@racer>
In-Reply-To
<20090126111605.GB19993@coredump.intra.peff.net>
Hi,
On Mon, 26 Jan 2009, Jeff King wrote:
Show 9 quoted lines
> On Mon, Jan 26, 2009 at 11:59:46AM +0100, Johannes Schindelin wrote:
> 
> > Just a reminder: we are very conservative when it comes to breaking 
> > backwards compatibility.  For example, people running (but not upgrading) 
> > gitweb who want to upgrade Git may rightfully expect their setups not to 
> > be broken for a long time, if ever.
> 
> Are you aware that gitweb no longer calls "git diff", exactly because
> of problems caused by calling a porcelain from a script?

As I said: do you really expect people not to forget to upgrade gitweb manually when they do "sudo make install" with a new Git version?

> I don't want to break existing setups, either. But at some point you 
> have to say "this is porcelain, so don't rely on there not being any 
> user-triggered effects in its behavior". If porcelain is cast in stone, 
> then what is the point in differentiating plumbing from porcelain?
Two points there:
- with gitweb, we were the offenders ourselves.  So we should give the 
  users of gitweb at least _some_ slack.
- Concretely for the "porcelain" git diff: This workflow
	git diff > my-patch
	<attach and send to somebody>
  is probably pretty wide spread.  And it is okay, a user is not a script, 
  they are very much allowed to use porcelain.  And we _would_ break 
  expectations there.

Now, I have another two, fundamental problems with the diff options defaults: you are restricting the thing to _one_ set of options, and when somebody wants to run without those options, she has to actively _undo_ them.

Remember, sometimes you need another set of options. Like, when I send mail to a Git user, I want "-M -C -C", when I send mail to a non-Git user, I do not want any additional options (and try to undo "-M -C -C" on the command line, good luck), and sometimes it is much easier to see what happened with a word diff.

So what I need are three different sets of diff options.

Guess how well that works with aliases -- we are talking command line here after all, right?

Ciao, Dscho

Previous: Jeff KingNext: Jeff King
Message 27 of 41 in “Introduce config variable "diff.primer"”
  1. 0/3 Introduce config variable "diff.primer"Keith Cascio, Jan 25, 2009
  2. 1/3 Introduce config variable "diff.primer"Keith Cascio, Jan 25, 2009
  3. 2/3 Test functionality of new config variable "diff.primer"Keith Cascio, Jan 25, 2009
  4. 3/3 git-gui hooks for new config variable "diff.primer"Keith Cascio, Jan 25, 2009
  5. Johannes SchindelinJan 25, 2009
  6. Keith CascioJan 25, 2009
  7. Johannes SchindelinJan 25, 2009
  8. Keith CascioJan 25, 2009
  9. Johannes SchindelinJan 25, 2009
  10. Keith CascioJan 25, 2009
  11. Jeff KingJan 25, 2009
  12. Keith CascioJan 25, 2009
  13. Jeff KingJan 25, 2009
  14. Junio C HamanoJan 25, 2009
  15. Junio C HamanoJan 26, 2009
  16. Keith CascioJan 26, 2009
  17. Jeff KingJan 26, 2009
  18. Junio C HamanoJan 26, 2009
  19. Keith CascioJan 26, 2009
  20. Jeff KingJan 26, 2009
  21. Junio C HamanoJan 26, 2009
  22. Jeff KingJan 26, 2009
  23. Johannes SchindelinJan 26, 2009
  24. Jeff KingJan 26, 2009
  25. backwards compatibility, was Re: [PATCH v1 1/3] Introduce config variable "diff.primer"Johannes Schindelin, Jan 26, 2009
  26. Jeff KingJan 26, 2009
  27. Johannes SchindelinJan 26, 2009
  28. Jeff KingJan 26, 2009
  29. Keith CascioJan 27, 2009
  30. Jay SoffianJan 26, 2009
  31. Jeff KingJan 26, 2009
  32. Jay SoffianJan 26, 2009
  33. Junio C HamanoJan 26, 2009
  34. Jay SoffianJan 26, 2009
  35. Jeff KingJan 26, 2009
  36. Junio C HamanoJan 26, 2009
  37. Junio C HamanoJan 25, 2009
  38. Keith CascioJan 25, 2009
  39. Jeff KingJan 25, 2009
  40. Keith CascioJan 27, 2009
  41. Jeff KingJan 27, 2009

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.