All my source code is on a centos virtual machine, which I access over an AFP share.

When I have a file open in TM2, TM is not able to detect that its been changed.  
This happens often when I switch git branch.

If I open a terminal and run 'ls' on the file, at this point suddenly TM realises its changed and reloads it.

Can anyone offer an explanation for this?

I figured maybe its some form of fstat cache kicking in, either in OSX or due to the way the AFP share has been configured, but I cannot find any other apps behave the same way (ie, Sublime Text detects it has changed immediately)