Gitosi da sola non ha una funzione di rimozione a causa del modo in cui è gestita tramite commit git. Se si rimuove il repository da gitosis.conf
e si esegue il commit della modifica, il repository non sarà più accessibile. Puoi riattivarlo in un secondo momento o eventualmente accedere al server e rimuovere il file dalla repositories/
directory gitosis .
Ho clonato il mio gitosis-admin.git
repository e aggiunto quanto segue, quindi ho eseguito il commit:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Sono quindi andato alla mia directory home ed ho eseguito le seguenti operazioni:
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
Questo dovrebbe inviare correttamente al server e quindi ho cancellato la test1
directory e clonata dalla gitosi:
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
Anche questo dovrebbe funzionare correttamente, quindi rimuovo la test1
linea dalla gitosis.conf
configurazione e apporto la modifica ... Provo quindi quanto segue:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
A differenza dei due precedenti push, questo fallisce con il seguente messaggio di errore:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
L'errore è perché la gitosi non ha nulla configurato per il test1
repository ora. Se si tenta di clonare nuovamente il repository, si riceverà lo stesso errore.