4

Есть ли способ получить компактный список всех репозиториев git, управляемых gitosis.

Я ищу что-то похожее на

svn list url_to_repo

Я знаю, что могу взглянуть на gitosis.conf , но это многословно.

2 ответа2

8

Насколько я знаю, вы не можете проверить, к каким репозиториям у вас есть доступ с помощью 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
3

Я поместил следующий код в мой .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 .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .