La gitosis por sí sola no tiene una función de eliminación debido a la forma en que se maneja a través de git commits. Si elimina el repositorio del gitosis.conf
y confirma el cambio, ya no se podrá acceder al repositorio. Puede volver a habilitarlo más tarde o eventualmente puede iniciar sesión en el servidor y eliminar el archivo del repositories/
directorio de gitosis .
Cloné mi gitosis-admin.git
repositorio y agregué lo siguiente y luego me comprometí:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Luego fui a mi directorio personal y realicé lo siguiente:
mkdir test1
cd test1
git init
git remote add origin git@server:test1.git
echo "Testing" > test.txt
git add test.txt
git commit -m 'First commit'
git push origin master:refs/heads/master
Esto debería empujar con éxito al servidor y luego borré el test1
directorio y lo cloné de la gitosis:
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
Esto también debería funcionar correctamente, así que luego elimino la test1
línea de la gitosis.conf
configuración y confirmo el cambio ... Luego intento lo siguiente:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
A diferencia de los dos empujes anteriores, este falla con el siguiente mensaje de error:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
El error se debe a que la gitosis no tiene nada configurado para el test1
repositorio ahora. Si intenta clonar el repositorio nuevamente, recibirá el mismo error.