A gitosis, por si só, não possui uma função de remoção devido à maneira como é gerenciada por meio de confirmações do git. Se você remover o repositório gitosis.conf
e confirmar a alteração, o repositório não estará mais acessível. Você pode reativá-lo mais tarde ou, eventualmente, pode efetuar login no servidor e remover o arquivo do repositories/
diretório gitosis .
Eu clonei meu gitosis-admin.git
repositório e adicionei o seguinte e confirmei:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Fui ao meu diretório pessoal e executei o seguinte:
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
Isso deve test1
ser enviado com êxito ao servidor e, em seguida, limpei o diretório e o clonei da 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
Isso também deve ser enviado com êxito, para que eu remova a test1
linha da gitosis.conf
configuração e confirme a alteração ... Em seguida, tente o seguinte:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Ao contrário dos dois push anteriores, este falha com a seguinte mensagem de erro:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
O erro ocorre porque a gitosis não tem nada configurado para o test1
repositório agora. Se você tentar clonar o repositório novamente, receberá o mesmo erro.