On Fri, 5 Jun 2009, Björn Steinbrink wrote: > > > > *wait a minute, doing nothing* > > > > doener@atjola:git (master) $ git diff-index --name-only HEAD > > Documentation/RelNotes-1.6.3.2.txt > > Documentation/git.txt > > contrib/completion/git-completion.bash > > grep.c > > Hm, looks like this is not a git bug. Went back to 1.5.4, and even that > shows the error. So I actually looked at the files, and indeed, the file > in the working tree gets modified. stat(1) shows: You have beagle running, don't you? It's a piece of sh*t, and uses extended attributes to track indexing information. So the "wait a minute" will just give beagle the chance to index your git working tree, and update the extended attributes. That is entirely hidden from all normal filesystem stat information, *EXCEPT* it changes ctime, since the inode is changed. It's annoying as hell. Beagle is broken. It's a particularly inefficient way to store index information, and it is annoying that an indexing engine actually changes the files it indexes. You can tell git to ignore CTIME, by using [core] trustctime = false and now git will ignore the mess that beagle makes of things. The other alternative is to tell beagle to behave. The beagle people claims this makes things slower. Which is quite possibly true, since the kernel is optimized and caches things well (extended attributes in the filesystem), and beagles alternative model is probably some incredibly crappy indexing built on top of MySQL. Your choice. Linus -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html