Mostrar el permiso de un file indexado en git

Esto está relacionado con otra pregunta que hice recientemente sobre el almacenamiento de un depósito no desnudo en Dropbox para facilitar el movimiento entre las computadoras, por lo que puede ser útil leer esa pregunta para el background.

Lo esencial es que fileMode sigue informando un diff para una cierta cantidad de files. No puedo encontrar una manera de reproducirlo constantemente, pero sucede con frecuencia. Lo que noté es que el file, que tiene 644 permissions en ambas máquinas, a menudo informa una diferencia de 755 en una de las máquinas. Esto me hace pensar que Git cree que el bit ejecutable está configurado, pero no puedo entender si realmente puedo ver cómo Git tiene ese bit establecido.

Para ver qué piensa realmente git sobre sus files en commits y el índice, use git ls-tree <tree> y git ls-files -s <path> respectivamente.

Por cierto, parece que git solo mira el bit ejecutable, y asume 644 para todo lo demás. Mira create_ce_mode en cache.h si quieres intentar depurar este extraño problema.