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

Re: What's cooking in git.git (Nov 2008, #06; Wed, 26)

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Nov 28, 2008, 11:47 UTC
Message-ID
<alpine.DEB.1.00.0811281225040.30769@pacific.mpi-cbg.de>
In-Reply-To
<7vtz9s8uzu.fsf@gitster.siamese.dyndns.org>
Hi,
On Thu, 27 Nov 2008, Junio C Hamano wrote:
Show 12 quoted lines
> Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 
> > I have a strong suspicion that the narrow stuff will make the worktree 
> > mess pale in comparison.
> >
> > Note that I do not have time to review this myself (which is not 
> > helped at all by it being no longer a trivial single patch, but a full 
> > 10 patches!), but I really have a bad feeling about this.  IMO it is 
> > substantially under-reviewed.
> 
> Well, "a bad feeling" is not a convincing enough argument either, is it? 
> What kind of bad interaction are you fearing?

I just remember the worktree stuff well enough. I had a bad gut feeling when it was proposed, and I had a bad impression of the (IMO way too intrusive) patch series implementing it. It was pretty buggy and affected Git in serious ways (in order to accomodate worktree, we broke operations in bare repositories at least once, for example).

(So no, "bad feeling" is not convincing, but it is basically a primitive pattern matching in experiences that have not been fully analyzed, but that turned out to be bad enough.)

I tried to fix it, but did not a very good job at it. In the meantime, I think I know why: there is no elegant way to implement this that is performant at the same time. (Just think of having git_dir be relative: this is a necessity for the performance, but ugly to implement in the presence of worktree where it may _need_ to be absolute).

To me, the narrow patch series has all the looks of becoming the same type of nightmare:

- it is intrusive,
- it consists of a substantial number of patches (making bugs the opposite 
  of shallow),
- it is heavily under-reviewed,
- it _needs_ a lot of changes to be accomodated, affecting common code 
  paths, having all the potential to break existing workflows, and
- there is as little interest in the feature from core Git developers as 
  with worktree, literally guaranteeing that it will not, or only very 
  slowly, and probably badly, get fixed if it breaks.

And the worst part: I think that as with worktree, there has not been enough of kicking forth and back ideas how to design the beast, so I fully expect a subtle breakage that would require a redesign (which will be painful, with existing users of the feature).

Maybe I am crying "wolf", but I _do_ want to caution against risking too much, too fast, with that feature.

In other words, unless there is more interest in that feature, enough to generate a well-understood design before a good implementation, I'd rather see this patch series dropped.

Ciao, Dscho

Previous: Junio C HamanoNext: Shawn O. Pearce
Message 4 of 37 in “What's cooking in git.git (Nov 2008, #06; Wed, 26)”
  1. Junio C HamanoNov 27, 2008
  2. Johannes SchindelinNov 27, 2008
  3. Junio C HamanoNov 28, 2008
  4. Johannes SchindelinNov 28, 2008
  5. Shawn O. PearceNov 28, 2008
  6. Junio C HamanoNov 29, 2008
  7. git add --intent-to-add: fix removal of cached emptinessJunio C Hamano, Nov 29, 2008
  8. 1/3 builtin-rm.c: explain and clarify the "local change" logicJunio C Hamano, Nov 29, 2008
  9. 2/3 git add --intent-to-add: fix removal of cached emptinessJunio C Hamano, Nov 29, 2008
  10. Sverre RabbelierNov 29, 2008
  11. Jeff KingNov 30, 2008
  12. 3/3 git add --intent-to-add: do not let an empty blob committed by accidentJunio C Hamano, Nov 29, 2008
  13. Jeff KingNov 30, 2008
  14. Junio C HamanoDec 1, 2008
  15. Daniel BarkalowNov 29, 2008
  16. Nguyen Thai Ngoc DuyNov 29, 2008
  17. Nguyen Thai Ngoc DuyNov 30, 2008
  18. Daniel BarkalowNov 30, 2008
  19. Nguyen Thai Ngoc DuyDec 6, 2008
  20. Daniel BarkalowDec 6, 2008
  21. Nguyen Thai Ngoc DuyDec 7, 2008
  22. Daniel BarkalowDec 7, 2008
  23. Nguyen Thai Ngoc DuyDec 8, 2008
  24. Daniel BarkalowDec 8, 2008
  25. Nguyen Thai Ngoc DuyDec 11, 2008
  26. Daniel BarkalowDec 11, 2008
  27. Junio C HamanoDec 12, 2008
  28. Daniel BarkalowDec 12, 2008
  29. Junio C HamanoDec 12, 2008
  30. Jeff KingDec 12, 2008
  31. Nguyen Thai Ngoc DuyDec 12, 2008
  32. Johannes SixtDec 12, 2008
  33. Nguyen Thai Ngoc DuyDec 12, 2008
  34. Junio C HamanoDec 13, 2008
  35. Junio C HamanoDec 13, 2008
  36. Nguyen Thai Ngoc DuyDec 12, 2008
  37. Junio C HamanoDec 7, 2008

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.