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

Re: Git diff-file bug?

From
DNDrew Northup <n1xim.email@gmail.com>
Date
Oct 3, 2012, 11:58 UTC
Message-ID
<CAM9Z-nmhxHQF5CxL5ivef=DGpL2mC_67J7g+e7UsNW2U6qcU8Q@mail.gmail.com>
In-Reply-To
<CAEkqydxxmG1QsNUGqQnNn9xfXmS3D3qUvJR6OPV2poabKqcVeQ@mail.gmail.com>

On Wed, Oct 3, 2012 at 4:04 AM, Scott Batchelor <scott.batchelor@gmail.com> wrote:

Show 8 quoted lines
> Many thanks to all who have responded to my question.
> I have found that something is, indeed, modifying the inodes for all
> the files in my repository. Our systems administrator executes a
> backup using "tar" with the "--atime-preserve" flag. It is this flag
> that modifies the "changed time" in the inode, and causes gitk to show
> that all my files have changed.
> Thanks,
> Scott.

Scott, We do that in our office @work. Perhaps this will help:

"core.trustctime If false, the ctime differences between the index and the working tree are ignored; useful when the inode change time is regularly modified by something outside Git (file system crawlers and some backup systems). See git-update-index(1). True by default."

(Quoted via http://git-scm.com/docs/git-config )
When/if I have problems I set that false.
(CC list reconstructed)
Show 24 quoted lines
> On 28 September 2012 21:40, Junio C Hamano <gitster@pobox.com> wrote:
>> Scott Batchelor <scott.batchelor@gmail.com> writes:
>>
>>> 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.
-- 
-Drew Northup
--------------------------------------------------------------
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59
Previous: Scott Batchelor
Message 18 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.