gitolite incapaz de executar gitolite

4

Estou tendo problemas para configurar o gitolite. O servidor é o Mac OS X Server 10.5.8 e o cliente é o Mac OS X 10.6.6. Ambos estão executando o git 1.7.3.4 compilado da fonte.

Estou seguindo a documentação da melhor maneira possível, mas ela realmente precisa de uma grande reforma e é confusa em alguns lugares. Eu não acho que o autor tenha conseguido isso.

Eu usei o "método raiz" instalação . O problema é quando executo o último passo: cd; git clone git@server:gitolite-admin

Veja o que está acontecendo no lado do cliente:

tom@client$ ssh [email protected] info
hello tom, the gitolite version here is v1.5.8-22-g6bcb5c1
the gitolite config gives you the following access:
     R   W      gitolite-admin
    @R_ @W_     testing
tom@client$ git clone [email protected]:gitolite-admin
Cloning into gitolite-admin...
Can't exec "git": No such file or directory at /usr/local/bin/gl-auth-command line 176.
fatal: The remote end hung up unexpectedly

De link

As a result, it's a lot easier to debug. Just run ssh git@server info. If this get you the gitolite version and access info, everything is fine. If it asks you for a password, see the very first section of this document for help.

Assim, concluo que a parte SSH do gitolito está configurada corretamente.

Servidor:

admin@server$ su - git
Password:
git@server$ which git
/usr/local/bin/git
git@server$ which gl-auth-command
/usr/local/bin/gl-auth-command
git@server$ tail -n 2 /usr/local/bin/gl-auth-command 
$repo = "'$REPO_BASE/$repo.git'";
exec("git", "shell", "-c", "$verb $repo") unless $verb eq 'git-init';

git está disponível no servidor como no usuário% gt_de% do usuário.

Eu usei 'tail' para mostrar as últimas duas linhas, 175 e 176, já que aparentemente a última linha é a que está falhando.

O que diabos está errado? Eu tenho batido minha cabeça na parede com isso.

    
por Shaggy Frog 26.01.2011 / 05:48

2 respostas

3

Isso parece ser o mesmo problema descrito aqui:

configuração do gitolite no Mac = > git-upload-pack: comando não encontrado

As sessões interativas não têm necessariamente as mesmas variáveis de ambiente definidas como sessões não interativas. Tente adicionar o PATH para git (/ usr / local / bin) a um arquivo init shell para o usuário git que é lido em sessões interativas e não interativas. Se o shell do usuário do git é bash, tente ~ git / .bashrc.

    
por 26.01.2011 / 06:24
0

Você pode definir a variável $GIT_PATH no arquivo gitolite.rc se o gl-auth-command não conseguir localizar o local de instalação do git. Consulte o link para obter mais informações.

Parece que / usr / local / bin / não faz parte de $ PATH quando gl-auth-command é executado a partir de ssh, então seu shell deve estar adicionando-o quando você logar normalmente, mas não durante um não-login não interativo uso.

    
por 26.01.2011 / 17:53

Tags