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

Re: RFC: display dirty submodule working directory in git gui and gitk

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jan 4, 2010, 09:44 UTC
Message-ID
<alpine.DEB.1.00.1001041038520.4985@pacific.mpi-cbg.de>
In-Reply-To
<4B3F6742.6060402@web.de>
Hi,
On Sat, 2 Jan 2010, Jens Lehmann wrote:
Show 25 quoted lines
> Now that we have much better output when displaying diffs of submodules 
> in git gui and gitk (many thanks to all involved!), another usability 
> issue shows up: A dirty working directory of a submodule isn't visible 
> in git gui or gitk.
> 
> So you might think a "submodule update" would be ok - as you see no 
> changes - just too see it fail because the submodules working directory 
> is dirty.
> 
> Or - even worse - you /think/ you committed your changes in a submodule 
> while you didn't. That can lead to 'interesting' problems which can be 
> pretty hard to diagnose (like breaking builds on other peoples 
> machines).
> 
> 
> A possible solution could look like this:
> 
> AFAICS, git gui and gitk use "git diff-files" both to get the file names 
> of unstaged local changes and to later display the actual differences.
> 
> If they could tell the diff core to also check the submodule working 
> directories and to output an extra line - maybe something like 
> "Submodule <name> contains uncommitted local changes" - when a 
> submodules working directory is dirty, git gui and gitk could show the 
> submodules state adequately.

The real problem is that submodules in the current form are not very well designed. For example, a submodule being at a different commit than in the superproject's index is not as fatal as the submodule having changes.

So in the long run, IMHO a proper redesign of the submodules would not make only a little sense (it does not help, though, that those who implemented and furthered the current approach over other discussed approaches do not use submodules themselves -- not even now).

In ths short run, we can paper over the shortcomings of the submodules by introducing a command line option "--include-submodules" to update-refresh, diff-files and diff-index, though.

The implementation might be a bit tricky as parts of Git's source code still use the_index, but at least adding the submodule's object database is no longer that difficult.

Ciao, Dscho

Previous: Jens LehmannNext: Heiko Voigt
Message 2 of 45 in “RFC: display dirty submodule working directory in git gui and gitk”
  1. Jens LehmannJan 2, 2010
  2. Johannes SchindelinJan 4, 2010
  3. Heiko VoigtJan 4, 2010
  4. submodules, was Re: RFC: display dirty submodule working directory in git gui and gitkJohannes Schindelin, Jan 4, 2010
  5. Avery PennarunJan 4, 2010
  6. Jens LehmannJan 4, 2010
  7. Jens LehmannJan 4, 2010
  8. submodules' shortcomings, was Re: RFC: display dirty submodule working directory in git gui and gitkJohannes Schindelin, Jan 4, 2010
  9. Shawn O. PearceJan 4, 2010
  10. Avery PennarunJan 4, 2010
  11. Avery PennarunJan 4, 2010
  12. Jens LehmannJan 5, 2010
  13. Junio C HamanoJan 5, 2010
  14. Johannes SchindelinJan 5, 2010
  15. Jens LehmannJan 5, 2010
  16. Junio C HamanoJan 5, 2010
  17. Jens LehmannJan 5, 2010
  18. Junio C HamanoJan 6, 2010
  19. Jens LehmannJan 6, 2010
  20. Junio C HamanoJan 6, 2010
  21. Nguyen Thai Ngoc DuyJan 6, 2010
  22. Junio C HamanoJan 6, 2010
  23. Nguyen Thai Ngoc DuyJan 6, 2010
  24. Jens LehmannJan 6, 2010
  25. Junio C HamanoJan 6, 2010
  26. Jens LehmannJan 6, 2010
  27. Jens LehmannJan 6, 2010
  28. Johannes SchindelinJan 5, 2010
  29. Johannes SchindelinJan 5, 2010
  30. Jens LehmannJan 5, 2010
  31. Heiko VoigtJan 5, 2010
  32. Johan HerlandJan 5, 2010
  33. Johannes SchindelinJan 5, 2010
  34. Nanako ShiraishiJan 5, 2010
  35. Johannes SchindelinJan 5, 2010
  36. Nanako ShiraishiJan 7, 2010
  37. Pau Garcia i QuilesJan 5, 2010
  38. cmake, was Re: submodules' shortcomingsJohannes Schindelin, Jan 5, 2010
  39. Pau Garcia i QuilesJan 6, 2010
  40. Miles BaderJan 6, 2010
  41. Johannes SchindelinJan 6, 2010
  42. Nguyen Thai Ngoc DuyJan 4, 2010
  43. Jens LehmannJan 4, 2010
  44. Junio C HamanoJan 4, 2010
  45. Jens LehmannJan 4, 2010

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.