gitosis: listar todos os repositórios

4

Existe uma maneira de obter uma lista compacta de todos os repositórios git gerenciados pela gitosis.

Estou procurando algo parecido com

svn list url_to_repo

Eu sei que posso dar uma olhada em gitosis.conf , mas isso é para wordy.

    
por BetaRide 05.04.2011 / 21:34

2 respostas

3

Eu coloquei o seguinte código no meu .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'
}

Agora, posso digitar repos e obter uma lista útil de todos os repositórios definidos em gitosis.conf .

    
por 06.04.2011 / 08:25
8

Até onde eu sei, você não pode checar em quais repositórios você tem acesso, sem verificar o arquivo gitosis.conf ou sem acesso ao diretório do repositório de gitoses (remoto ou local)

Você deve usar o gitolite para atender a essa necessidade.

Gitolite é fácil de instalar e o uso é quase o mesmo que gitosis (acesso de usuário único, usando um repositório com um arquivo de configuração e keydir para configurar o serviço, etc), mas permite definir permissões por ramificação (se você precisar para), sincronizar com gitweb, e um monte de outras opções (muitas delas, na verdade!)

A melhor parte é que você pode enviar o comando 'info' para o servidor usando o ssh e ele listará os repositórios aos quais você tem acesso.

por exemplo: o comando

anUser@computer> ssh git@my-git-server info

mostrará na tela algo como

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
    
por 01.08.2011 / 12:31

Tags