'git diff' inconsistente entre CLI y otros clientes

Estoy tratando de get una list de cambios / agregados / eliminados / etc. files para una confirmación en mi repository de Git. Cuando ejecuto lo siguiente en el shell, este es el resultado:

Indragie$ /usr/bin/git diff --name-status 0836 D INPopoverController.h D INPopoverController.m D INPopoverControllerDefines.h D INPopoverWindow.h D INPopoverWindow.m D INPopoverWindowFrame.h D Images/blue_progress_slice.png M Images/next.png M Images/pause.png M Images/play.png M Images/previous.png D Images/progress_left_cap.png 

Cuando miro la list de cambios en Xcode (o cualquier otro cliente Git de terceros), veo esto:

Xcode diff http://cl.ly/2i3P3s0m0i3I10110h3E/Screen_Shot_2011-04-07_at_8.59.18_PM.png

Obviamente, estos son solo extractos de las lists más grandes, pero el punto es que no son los mismos en absoluto. He verificado que el hash SHA1 de la confirmación que estoy viendo es el mismo en CLI git y en Xcode. Soy nuevo en git, así que puede haber algo bastante obvio de que estoy haciendo mal, pero incluso después de pasar páginas man y tutoriales de git, parece que no puedo encontrar dónde me estoy equivocando. Cualquier ayuda es apreciada.

¿Estás seguro de que estás viendo las mismas cosas?

git diff <commit-id> le mostrará las diferencias entre su tree de trabajo actual y el tree en el momento de esa confirmación, no los cambios introducidos por esa confirmación.

git show le mostraría solo los cambios de commit.