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

Re: Git diff-file bug?

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 28, 2012, 20:40 UTC
Message-ID
<7vr4plkhin.fsf@alter.siamese.dyndns.org>
In-Reply-To
<CAEkqydxRy3ukSWyQ53Tiosq+DMWWLG=AVuZk+Jm79Y5SaRmeDw@mail.gmail.com>
Scott Batchelor <scott.batchelor@gmail.com> writes:
Show 5 quoted lines
> I'm fairly new to git and am witnessing some strange behavior with git
> that I suspect may be a bug. Can anyone set my mind at rest.
>
> Every so often (I've not quite figured out the exact set of
> circumstances yet) 

Figure that circumstances out. That is the key to the issue. Something in your workflow is futzing with the inode data of the files in your working tree behind your back. It sometimes is a virus scanner.

"git diff-*" plumbing commands are meant to be used after running "git update-index --refresh" once in the program and when the caller of these commands (in your case, gitk) knows that any change in the information returned by lstat(2) on the paths in the working tree files since that call indicate real changes to the files.

"git status" internally runs an equivalent of "--refresh" before it goes to find changes, so after running it, until that something smudges the inode data behind your back, "gitk" will not be confused.

Previous: Junio C HamanoNext: Scott Batchelor
Message 16 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.