Re: Git does not handle changing inode numbers well

2012-08-08 Thread Matthijs Kooijman
Hi Junio, > - if (ce->ce_ino != (unsigned int) st->st_ino) > + if (trust_inum && ce->ce_ino != (unsigned int) st->st_ino) > changed |= INODE_CHANGED; I just tried this with 1.7.10 (that is, I deleted these two lines to mimic trust_inum being false) and it indeed fixes my pro

Re: Git does not handle changing inode numbers well

2012-08-08 Thread Matthijs Kooijman
> So, let's see if I can fix my filesystem now ;-) For anyone interested: turns out passing -o noforget makes fuse keep a persistent path -> inode mapping (at the cost of memory usage, of course). However, it also turns out that fuse wasn't my problem: It was the aufs mount that was overlayed over

Re: Git does not handle changing inode numbers well

2012-08-08 Thread Junio C Hamano
Matthijs Kooijman writes: > So, it seems that git just doesn't cope well with changing inode numbers > because it checks the content in a first pass in refresh_index, but only > checks the stat info in the second pass in run_diff_files. The reason it > does work for regular files is EC_UPTODATE o

Git does not handle changing inode numbers well

2012-08-08 Thread Matthijs Kooijman
(Please CC me, I'm not on the list) Hi folks, I've spent some time debugging an issue and I'd like to share the results. The conclusion of my debugging is that git does not currently handle changing inode numbers on files well. I have a custom Fuse filesystem, and fuse dynamically allocates inod