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

Re: [PATCH] gitk: refresh the index before running diff-files

From
Jeff King <peff@peff.net>
Date
Oct 1, 2012, 22:32 UTC
Message-ID
<20121001223237.GC12496@sigill.intra.peff.net>
In-Reply-To
<20120930203458.GA31365@elie.Belkin>
On Sun, Sep 30, 2012 at 01:34:58PM -0700, Jonathan Nieder wrote:
Show 17 quoted lines
> Jeff King wrote:
> > On Sun, Sep 30, 2012 at 10:05:27AM +1000, Paul Mackerras wrote:
> 
> >> Unfortunately this will wait for the git update-index command to
> >> complete, making the GUI unresponsive while it executes, and that can
> >> take minutes on a large repository (e.g. the linux kernel) on a
> >> machine with a slow disk and a cold disk cache.  We will need to make
> >> the git update-index execute asynchronously.
> >
> > Good point. We're getting out of my very limited tcl cargo-culting
> > skills now, so I'll let somebody more clueful do that fix.
> 
> You might find the following patch and discussion entertaining:
> 
>   http://thread.gmane.org/gmane.comp.version-control.git/144182
> 
> Not my itch, but it was fun to write back then. ;-)

Not really my itch either, which is why I'm trying to dump the tcl work on somebody else. :) For what it's worth, your patch from that thread looks like a sane approach.

I don't buy the "gitk should be read-only" argument from that thread. I think we decided a while back[1] that the stat cache is not really a user-visible modification; you're not updating the index in any meaningful way that impacts the user's workflow, but merely refreshing our cache of what is in the filesystem. That may have performance implications (which is why we do not do it in all commands by default), but it really is a cache, and updating it should be no different than updating gitk.cache (i.e., do it if we can, but do not complain if we are in a read-only repository).

-Peff
[1] I did not track down the threads, but I consider this resolved by
    all of the discussion that led to "git diff" refreshing (and saving)
    the index rather than printing patch-less stat-dirty entries. The
    original argument against refreshing was that the stat-dirtiness was
    somehow interesting to users, but I think experience has shown that
    people are happy to have it happen magically behind the scenes.
Previous: Jonathan NiederNext: Junio C Hamano
Message 14 of 18 in “Git diff-file bug?”
  1. Scott BatchelorSep 28, 2012
  2. Jeff KingSep 28, 2012
  3. gitk: refresh the index before running diff-filesJeff King, Sep 28, 2012
  4. Junio C HamanoSep 28, 2012
  5. Andreas SchwabSep 28, 2012
  6. Jeff KingSep 28, 2012
  7. Junio C HamanoSep 28, 2012
  8. Jeff KingSep 28, 2012
  9. Junio C HamanoSep 28, 2012
  10. Andreas SchwabSep 28, 2012
  11. Paul MackerrasSep 30, 2012
  12. Jeff KingSep 30, 2012
  13. Jonathan NiederSep 30, 2012
  14. Jeff KingOct 1, 2012
  15. Junio C HamanoOct 1, 2012
  16. Junio C HamanoSep 28, 2012
  17. Scott BatchelorOct 3, 2012
  18. Drew NorthupOct 3, 2012

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.