La secuencia de commands previa al envío de Git-hooks no recibe información a través de STDIN

La documentation de pre-push de git-hooks indica que la primera línea de stdin se completará con el ref y el sha locales, y el ref y el sha remotos como tales:

<local ref> SP <local sha1> SP <remote ref> SP <remote sha1> LF

Sin embargo, mi simple script de pre-push:

 #!/bin/bash echo "params=[$@]" read line echo "stdin=[$line]" exit 1 

devuelve el siguiente resultado cuando se ejecuta un $git push :

 params=[origin [url]:[branch].git] stdin=[] error: failed to push some refs to '[remote]' 

Los parameters del script se especifican en la documentation (nombre y ruta del control remoto). Se espera el error porque mi script sale con un estado de 1. Sin embargo, parece que no puedo entender por qué no estoy recibiendo las references locales y remotas en stdin como se especifica en la documentation.

¿Es esto un error en git ? ¿O me estoy perdiendo algo?

Disculpas si esto indica lo obvio, pero si no hay nada que presionar, no obtendrás ninguna línea en stdin. La muestra .git/hooks/pre-push.sample tiene un ciclo while:

 IFS=' ' while read local_ref local_sha remote_ref remote_sha do ... done 

y eso parece funcionar cuando lo bash aquí con un eco dentro de ese bucle y nada más: no obtengo nada cuando no tengo nada que empujar, y lo hago cuando lo hago.