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

Re: 'git status' is not read-only fs friendly

From
Nicolas Pitre <nico@cam.org>
Date
Feb 10, 2007, 17:03 UTC
Message-ID
<Pine.LNX.4.64.0702101154130.1757@xanadu.home>
In-Reply-To
<7vmz3mj6yo.fsf@assigned-by-dhcp.cox.net>
On Sat, 10 Feb 2007, Junio C Hamano wrote:
Show 15 quoted lines
> Nicolas Pitre <nico@cam.org> writes:
> 
> > On Sat, 10 Feb 2007, Junio C Hamano wrote:
> >
> >> Nicolas Pitre <nico@cam.org> writes:
> >> ...
> >> > Because git-status itself is conceptually a read-only operation, and 
> >> > having it barf on a read-only file system is justifiably a bug.
> >> 
> >> I do not 100% agree that it is conceptually a read-only operation.
> >
> > It is.  It's the technical issue that makes it not so.
> 
> I do not think so.  It is a workflow issue that user indicates
> the cache cleanliness information does not matter anymore.

You're making assumption about work flows and using that to justify command implementation flaws. This is not exactly "user friendly".

Show 13 quoted lines
> Is it wrong for "git-status" to be losing the cache cleanliness
> information?  The intended audience of that program is those who
> are about to make a commit in the repository, as they are asking
> "what would I be committing?"  Up to that point, they may have
> cared about the reminder they get from "git diff" that they
> edited a file and then ended up reverting the whole edit they
> did to that file (I find that empty diff from "git diff" often
> very useful, although I felt "Huh?"  when I was new to git).
> But when they ask "git status", they care more about the real
> change, and at that point (since they feel they may be ready to
> make a commit -- and that is the whole point of running
> "git-status") they do want to lose the cache cleanliness
> information.

I don't dispute that. But git-status should certainly not be restricted _only_ to that usage pattern.

> So "git-status" to be read-write application to
> discard the cache-cleanliness information is probably a good
> thing.

It is... when the file system lets you write. Like I said this is a technically good thing to do.

But a command that is called "status" should provide a "status" even if the file system is read-only nevertheless. The index updating business that is done behind the scene is and should be an opportunistic optimization, but it should not prevent status reporting.

It is pretty expected that a "commit" command would fail if the file system is ro, but not a "status" command. And this is true irrespectively of whatever workflow you might be most likely to use the "status" command for.

Nicolas
Previous: Junio C HamanoNext: Junio C Hamano
Message 40 of 52 in “'git status' is not read-only fs friendly”
  1. Marco CostalbaFeb 9, 2007
  2. Linus TorvaldsFeb 9, 2007
  3. Marco CostalbaFeb 9, 2007
  4. Junio C HamanoFeb 9, 2007
  5. Junio C HamanoFeb 9, 2007
  6. Morten WelinderFeb 9, 2007
  7. Theodore TsoFeb 9, 2007
  8. Marco CostalbaFeb 9, 2007
  9. Linus TorvaldsFeb 9, 2007
  10. Junio C HamanoFeb 10, 2007
  11. Junio C HamanoFeb 10, 2007
  12. 1/2 run_diff_{files,index}(): update calling convention.Junio C Hamano, Feb 10, 2007
  13. Marco CostalbaFeb 10, 2007
  14. Junio C HamanoFeb 10, 2007
  15. Marco CostalbaFeb 10, 2007
  16. Marco CostalbaFeb 10, 2007
  17. Junio C HamanoFeb 10, 2007
  18. Marco CostalbaFeb 10, 2007
  19. Junio C HamanoFeb 10, 2007
  20. Marco CostalbaFeb 10, 2007
  21. 2/2 git-runstatus --refreshJunio C Hamano, Feb 10, 2007
  22. Johannes SchindelinFeb 10, 2007
  23. Marco CostalbaFeb 10, 2007
  24. Johannes SchindelinFeb 10, 2007
  25. Marco CostalbaFeb 10, 2007
  26. Marco CostalbaFeb 10, 2007
  27. Junio C HamanoFeb 10, 2007
  28. Johannes SchindelinFeb 10, 2007
  29. Junio C HamanoFeb 11, 2007
  30. Johannes SchindelinFeb 11, 2007
  31. Johannes SchindelinFeb 11, 2007
  32. Junio C HamanoFeb 11, 2007
  33. Johannes SchindelinFeb 11, 2007
  34. Johannes SchindelinFeb 10, 2007
  35. Marco CostalbaFeb 10, 2007
  36. Nicolas PitreFeb 10, 2007
  37. Junio C HamanoFeb 10, 2007
  38. Nicolas PitreFeb 10, 2007
  39. Junio C HamanoFeb 10, 2007
  40. Nicolas PitreFeb 10, 2007
  41. Junio C HamanoFeb 10, 2007
  42. Theodore TsoFeb 10, 2007
  43. Nicolas PitreFeb 10, 2007
  44. Theodore TsoFeb 10, 2007
  45. Marco CostalbaFeb 10, 2007
  46. Linus TorvaldsFeb 10, 2007
  47. Nicolas PitreFeb 10, 2007
  48. Junio C HamanoFeb 11, 2007
  49. Shawn O. PearceFeb 11, 2007
  50. Johannes SchindelinFeb 10, 2007
  51. Junio C HamanoFeb 10, 2007
  52. Marco CostalbaFeb 10, 2007

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.