linux – Comandos personalizados con git-shell

¿Cómo crear comandos personalizados para git-shell? Según el documentation:

When -c is given, the program executes non-interactively;
can be one of git receive-pack, git upload-pack, git
upload-archive, cvs server, or a command in COMMAND_DIR. The shell is
started in interactive mode when no arguments are given; in this case,
COMMAND_DIR must exist, and any of the executables in it can be
invoked.

Sin embargo, no estoy seguro de entender esto correctamente. Creé un usuario llamado gituser y le di /usr/bin/git-shell como shell. Creé un directorio llamado git-shell-command y puse un script llamado ‘testy’ en él, pero no puedo ejecutarlo a través de git-shell.

Esto es lo que estoy intentando desde otra máquina:

$ ssh gituser@server.com testy
fatal: unrecognized command 'testy'

Tenga en cuenta que git-shell está funcionando, y respondiendo, simplemente no puede encontrar mi comando personalizado.

Y aquí está el guión:

:/home/gituser/git-shell-commands# ls -l -a
total 12
drwxr-xr-x 2 gituser gituser 4096 Jan 22 17:35 .
drwxr-xr-x 4 gituser gituser 4096 Jan 22 13:57 ..
-rwxr-xr-x 1 gituser gituser   26 Jan 22 13:58 testy
:/home/gituser/git-shell-commands# ./testy
hello!
:/home/sodigit/git-shell-commands# cat testy
echo "hello!"

¿Qué estoy haciendo mal? ¿Cómo ejecutar comandos personalizados con git-shell?

Mejor respuesta
Al final resultó que, esta característica se ha introducido en git 1.7.4. Estoy usando debian squeeze, que contiene una versión anterior de git, por lo que no funcionó.

Si experimenta este problema, compruebe su versión git.

Sin embargo, a partir de git 1.7.10, los comandos personalizados solo funcionan en modo interactivo, y no con -c. Sin embargo, no he probado el último git, por lo que es posible que este problema no esté relacionado con la versión del software.

Por favor indique la dirección original:linux – Comandos personalizados con git-shell - Código de registro