Subject: Re: Some information that git diff saves and that git status does not

From: Sergio Callegari <[email-masked]>
Date: Tue, 09 Mar 2010 07:58:11 +0100

Johannes Sixt wrote:
> Junio C Hamano schrieb:
>   
>> I didn't fully read what you wrote but after you copy a repository from
>> one to another outside git (be it done with unison or rsync), you should
>> run "update-index --refresh".
>>     
>
> And the reason for this is that git also looks at the inode numbers, and I
> guess that unison does not go as far as to preserve them between machines...
>
> -- Hannes
>
>   
Thanks for all the info...  and sorry for the too verbose post at the 
beginning.

I actually did not know about the

update-index --refresh

but now I have the relevant information its name sounds obvious.  And I 
suspected something like inode data entering the game.

As a matter of fact, I was obtaining the same effect with git diff.

What was appearing to me as a quirk is that:

1) If you do not refresh the index, git works perfectly all the same.  
For instance, git status shows the right info. Only it is not that fast 
anymore, since everytime it needs to runs the filters on all the files.
2) git status does not refresh the index, while other commands like git 
diff do.

I was wandering whether git status could refresh the index 
automatically, at least about those files on which expensive actions, 
such as running filters had already been performed anyway.

Sergio

Sergio