Ответы:
Насколько я знаю, вы не можете проверить, к каким репозиториям у вас есть доступ с помощью gitosis, без проверки файла gitosis.conf или без доступа к каталогу gitosis repo (удаленному или локальному).
Вы должны использовать Gitolite, чтобы удовлетворить эту потребность.
Gitolite прост в установке, и его использование почти такое же, как и в gitosis (однопользовательский доступ, использование репозитория с файлом конфигурации и keydir для настройки службы и т. Д.), Но позволяет устанавливать разрешения для каждой ветви (если вам нужно), синхронизировать с gitweb и множеством других опций (на самом деле их много!)
Самое приятное то, что вы можете отправить команду 'info' на сервер, используя ssh, и он выведет список репозиториев, к которым у вас есть доступ.
например: команда
anUser@computer> ssh git@my-git-server info
Покажет на экране что-то вроде
hello anUser, the gitolite version here is v1.5.7-4-g270e0b9
the gitolite config gives you the following access:
R+ W Repo1
R W Repo2
R Repo3
@R_ @W_ testing
Я вставил следующий код в мой .bashrc
:
function repos
{
gitosisDir="/cygdrive/c/Users/Ernst/Source/gitosis-admin"
awk 'BEGIN { OFS = "[] "; ORS = "\n" }
/repo/ {print $2}' "$gitosisDir/gitosis.conf" | sed 's/[][]//g'
}
Теперь я могу просто набрать repos
и получить удобный список всех репозиториев, определенных в gitosis.conf
.