Gitosis: acesso de leitura negado

1

Estou tentando fazer com que a Gitosis funcione no meu servidor Ubuntu (de um cliente Win7). Ele está instalado e eu posso me conectar a ele via SSH, no entanto, se quando eu tento e empurrar um novo projeto, recebo o seguinte erro:

ERRO: gitosis.serve.main: acesso de leitura do repositório negado

Eu já tentei limpar minha pasta / home / git / e começar de novo - mas agora recebo o mesmo erro mesmo quando tento e pego o projeto admin-gitois.

Alguma idéia do que poderia causar isso?

[editar] Adicionando o sinalizador de depuração para o arquivo de configuração me dá isto:

C:\sandbox>git push origin master
DEBUG:gitosis.serve.main:Got command "git-receive-pack '/home/git/repositories/sandbox'"
DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'writable' on 'home/git/repositories/sandbox'...
DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'writeable' on 'home/git/repositories/sandbox'...
DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin'
DEBUG:gitosis.access.haveAccess:Access check for 'Dan@DAN-PC' as 'readonly' on 'home/git/repositories/sandbox'...
DEBUG:gitosis.group.getMembership:found 'Dan@DAN-PC' in 'gitosis-admin'
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly

[edit2]

Para adicionar mais informações - acabei de experimentar o Gitolite e recebi um erro semelhante:

Cloning into gitolite-admin...
R access for home/git/repositories/gitolite-admin DENIED to dan
(Or there may be no repository at the given path. Did you spell it correctly?)
fatal: The remote end hung up unexpectedly

Isso é usando o mesmo usuário e chaves "git". Tentei alterar as permissões do diretório, mas isso não ajudou.

    
por Dan 30.01.2011 / 01:00

3 respostas

2

Any ideas what could cause this?

Isso geralmente indica (a) um erro de configuração no seu gitosis.conf ou (b) uma chave pública ausente no seu Gitosis keydir . Para diagnosticar ainda mais o problema:

  • Confira o repositório do administrador. Desde que você pode entrar no servidor, você pode executar:

    git checkout /path/to/gitosis/repos/gitosis-admin.git
    
  • Isso lhe dará um diretório chamado gitosis-admin . Dentro deste diretório está o seu arquivo gitosis.conf .

  • Adicione o seguinte ao topo do arquivo:

    [gitosis]
    loglevel = DEBUG
    
  • Confirme suas alterações e volte para o repositório original:

    git commit -m 'enabled debug logging' -a
    git push origin master
    

Agora, quando você pressiona para a instalação da sua gitosis, você recebe um registro de depuração detalhado que deve ajudar a diagnosticar o problema. Se isso não apontar para o problema, poste a saída de depuração aqui e nós ajudaremos você a descobrir isso.

    
por 30.01.2011 / 01:32
1

Eu recomendo que você derrube a gitose e mude para gitolite . A gitose foi preterida e não parece mais ser mantida enquanto o gitólito é mantido e suportado de forma muito ativa. Gitolite faz tudo que a gitosis pode fazer, mas melhora, incluindo erros detalhados ao invés dos vagos erros que você recebe da gitose.

    
por 30.01.2011 / 03:21
1

Acabou sendo porque eu estava usando o mesmo nome de usuário como meu principal shell de logon SSH (dan). Então eu mudei o meu git admin para usar o mesmo par de chaves SSH, e parece funcionar bem agora. Também agora usando o Gitolite como recomendado pela Arrowmaster.

    
por 30.01.2011 / 17:38

Tags