Have you ever worked with large repositories? You really don't want to read every single byte from disk just for signing a commit if you can avoid it.