Gitosis sam w sobie nie ma funkcji usuwania ze względu na sposób, w jaki jest zarządzany za pomocą git commits. Jeśli usuniesz repozytorium z gitosis.conf
i zatwierdzisz zmianę, repozytorium nie będzie już dostępne. Możesz go ponownie włączyć później lub ostatecznie zalogować się na serwerze i usunąć plik z repositories/
katalogu gitosis .
Sklonowałem moje gitosis-admin.git
repozytorium i dodałem następujące, a następnie zatwierdziłem:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Następnie poszedłem do mojego katalogu domowego i wykonałem następujące czynności:
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
Powinno to z powodzeniem wypchnąć na serwer, a następnie wyczyściłem test1
katalog i sklonowałem go z 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
To również powinno wypychać również pomyślnie, więc następnie usuwam test1
wiersz z gitosis.conf
konfiguracji i zatwierdzam zmianę ... Następnie próbuję:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
W przeciwieństwie do poprzednich dwóch wypychań, ten kończy się niepowodzeniem z następującym komunikatem o błędzie:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Błąd jest taki, że gitosis nie ma teraz skonfigurowanego niczego dla test1
repozytorium. Jeśli spróbujesz ponownie sklonować repozytorium, otrzymasz ten sam błąd.