2010-07-15 22 views
14

¿Alguien ha intentado la opción de instalación fácil de gitolite?
Estoy tratando de instalar gitolita desde mi Windows (estación de trabajo) a una caja de Solaris.problema de instalación de gitolite

[command used to install] 
./gl-easy-install -q git sjcfsap1 git 

El comando se rompe en el siguiente lugar.

*Y*ou are logging into system : [gitserver] 
cloning gitolite-admin repo... 
Initialized empty Git repository in c:/Documents and Settings/chandve/gitolite-a 
dmin/.git/ 
Password: 
fatal: 'gitolite-admin' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly** 

¿Alguien ha encontrado este problema? ¿Cree que la gitolita vale la pena este esfuerzo? Estoy buscando evaluar ACL para Git.

Gracias por su respuesta con anticipación.

[El registro de ejecución de comandos completa más abajo]

[email protected] /c/git/repos/gitolite/src (master) 
$ ./gl-easy-install git sjcfsap1 git 


------------------------------------------------------------------------ 

you are upgrading  v1.5.3-13-g20c2e1a  to v1.5.3-13-g20c2e1a 

Note: getting '(unknown)' for the 'from' version should only happen once. 
Getting '(unknown)' for the 'to' version means you are probably installing 
from a tar file dump, not a real clone. This is not an error but it's nice to 
have those version numbers in case you need support. Try and install from a 
clone 


...press enter to continue or Ctrl-C to bail out 


------------------------------------------------------------------------ 

the next command will create a new keypair for your gitolite access 

The pubkey will be /c/Documents and Settings/chandve/.ssh/git.pub. You will hav 
e to choose a 
passphrase or hit enter for none. I recommend not having a passphrase for 
now, *especially* if you do not have a passphrase for the key which you are 
already using to get server access! 

Add one using 'ssh-keygen -p' after all the setup is done and you've 
successfully cloned and pushed the gitolite-admin repo. After that, install 
'keychain' or something similar, and add the following command to your bashrc 
(since this is a non-default key) 

    ssh-add $HOME/.ssh/git 

This makes using passphrases very convenient. 


...press enter to continue or Ctrl-C to bail out 


------------------------------------------------------------------------ 

Hmmm... pubkey /c/Documents and Settings/chandve/.ssh/git.pub exists; should I j 
ust (re-)use it? 

IMPORTANT: once the install completes, *this* key can no longer be used to get 
a command line on the server -- it will be used by gitolite, for git access 
only. If that is a problem, please ABORT now. 

doc/6-ssh-troubleshooting.mkd will explain what is happening here, if you need 
more info. 


...press enter to continue or Ctrl-C to bail out 


------------------------------------------------------------------------ 

your $HOME/.ssh/config already has settings for gitolite. I will assume 
they're correct, but if they're not, please edit that file, delete that 
paragraph (that line and the following few lines), Ctrl-C, and rerun. 

In case you want to check right now (from another terminal) if they're 
correct, here's what they are *supposed* to look like: 

host gitolite 
    user git 
    hostname sjcfsap1 
    port 22 
    identityfile ~/.ssh/git 



...press enter to continue or Ctrl-C to bail out 
gitolite.pm         100% 26KB 26.3KB/s 00:00 
gl-auth-command        100% 8319  8.1KB/s 00:00 
gl-compile-conf        100% 26KB 25.6KB/s 00:00 
gl-conf-convert        100% 2325  2.3KB/s 00:00 
gl-easy-install        100% 23KB 23.2KB/s 00:00 
gl-emergency-addkey       100% 1295  1.3KB/s 00:00 
gl-install         100% 4087  4.0KB/s 00:00 
gl-setup          100% 3081  3.0KB/s 00:00 
gl-system-install        100% 1814  1.8KB/s 00:00 
gl-tool          100% 2145  2.1KB/s 00:00 
output.txt         100% 60KB 60.2KB/s 00:00 
sshkeys-lint         100% 2962  2.9KB/s 00:00 
example.conf         100% 12KB 12.1KB/s 00:00 
example.gitolite.rc       100% 8390  8.2KB/s 00:00 
VERSION          100% 19  0.0KB/s 00:00 
0-INSTALL.mkd         100% 12KB 11.6KB/s 00:00 
1-migrate.mkd         100% 3569  3.5KB/s 00:00 
2-admin.mkd         100% 9063  8.9KB/s 00:00 
3-faq-tips-etc.mkd       100% 29KB 29.0KB/s 00:00 
4-wildcard-repositories.mkd     100% 12KB 11.8KB/s 00:00 
5-delegation.mkd        100% 6143  6.0KB/s 00:00 
6-ssh-troubleshooting.mkd      100% 19KB 19.5KB/s 00:00 
7-install-transcript.mkd      100% 8372  8.2KB/s 00:00 
9-gitolite-and-ssh.mkd      100% 7798  7.6KB/s 00:00 
9-packaging.mkd        100% 2257  2.2KB/s 00:00 
9-uninstall.mkd        100% 2791  2.7KB/s 00:00 
admin-defined-commands.mkd     100% 9700  9.5KB/s 00:00 
big-config.mkd        100% 6469  6.3KB/s 00:00 
CHANGELOG          100% 3873  3.8KB/s 00:00 
COPYING          100% 18KB 17.9KB/s 00:00 
hook-propagation.mkd       100% 7654  7.5KB/s 00:00 
overkill.mkd         100% 2059  2.0KB/s 00:00 
progit-article.mkd       100% 12KB 12.5KB/s 00:00 
report-output.mkd        100% 1818  1.8KB/s 00:00 
shell-games.mkd        100% 3363  3.3KB/s 00:00 
gitolite-hooked        100% 0  0.0KB/s 00:00 
update          100% 4728  4.6KB/s 00:00 
post-update         100% 943  0.9KB/s 00:00 


------------------------------------------------------------------------ 

the gitolite rc file needs to be edited by hand. The defaults are sensible, 
so if you wish, you can just exit the editor. 

Otherwise, make any changes you wish and save it. Read the comments to 
understand what is what -- the rc file's documentation is inline. 

Please remember this file will actually be copied to the server, and that all 
the paths etc. represent paths on the server! 


...press enter to continue or Ctrl-C to bail out 


------------------------------------------------------------------------ 
Oh hey... you already had a '.gitolite.rc' file on the server. 
Let's see if we can use that instead of the default one... 

...press enter to continue or Ctrl-C to bail out 
.gitolite.rc         100% 8390  8.2KB/s 00:00 


------------------------------------------------------------------------ 

ignore any 'please edit this file' or 'run this command' type lines in the 
next set of command outputs coming up. They're only relevant for a manual 
install, not this one... 


...press enter to continue or Ctrl-C to bail out 

    *** WARNING ***: looks like an upgrade... ignoring argument 'git' 
/export/home/git/repositories already exists 
/export/home/git/.gitolite already exists 
/export/home/git/.gitolite/conf already exists 
/export/home/git/.gitolite/doc already exists 
/export/home/git/.gitolite/keydir already exists 
/export/home/git/.gitolite/logs already exists 
/export/home/git/.gitolite/src already exists 
/export/home/git/.gitolite/hooks already exists 
/export/home/git/.gitolite/hooks/common already exists 
/export/home/git/.gitolite/hooks/gitolite-admin already exists 
copying post-update hook to gitolite-admin repo... 
Pseudo-terminal will not be allocated because stdin is not a terminal. 
stty: : Invalid argument 



You are logging into system : sjcfsap1 
/export/home/git/repositories already exists 
/export/home/git/.gitolite already exists 
/export/home/git/.gitolite/conf already exists 
/export/home/git/.gitolite/doc already exists 
/export/home/git/.gitolite/keydir already exists 
/export/home/git/.gitolite/logs already exists 
/export/home/git/.gitolite/src already exists 
/export/home/git/.gitolite/hooks already exists 
/export/home/git/.gitolite/hooks/common already exists 
/export/home/git/.gitolite/hooks/gitolite-admin already exists 
copying post-update hook to gitolite-admin repo... 


------------------------------------------------------------------------ 

now we will clone the gitolite-admin repo to your workstation and see if it 
all hangs together. We'll do this in your $HOME for now, and you can move 
it elsewhere later if you wish to. 


...press enter to continue or Ctrl-C to bail out 
Initialized empty Git repository in c:/Documents and Settings/chandve/gitolite-a 
dmin/.git/ 
Password: 
Password: 
fatal: 'gitolite-admin' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

Respuesta

3

lo hice precisamente la misma instalación (Windows para Solaris), y vale la pena.

lo hice:

  • de una sesión de Git Bash (no una sesión DOS),
  • con $HOME ajustado correctamente (es decir, hace referencia a un directorio en el que mis .ssh claves públicas/privadas son almacenado, incluido el del usuario presente en el lado del servidor Solaris)
+0

Hola VonC, También intenté usar git bash. Mi casa también se refiere a/c/documents & settings/chandve (.ssh está dentro de este directorio) Pero aparece el error mencionado anteriormente. –

+0

Han agregado la salida del comando .... –

+0

@vengateswaran: Recuerdo haber tenido ese problema en el paso final, sin que sea un stopper del espectáculo. Miraré el próximo lunes qué cambios tuve que hacer para que el clon tuviera éxito. – VonC

1

Hemos solucionado esto leyendo https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd documento. Específicamente la sección que menciona que no escuchamos las instrucciones. "Estos problemas le ocurren a la persona que ha dejado de leer/escuchar el mensaje que aparece al final de ejecutar la instalación fácil de gl" Eliminar todos los archivos. Vuelva a ejecutar la instalación, y prestar atención a las instrucciones :)

21

Esto puede ocurrir si en el servidor, el usuario tiene una clave git en ~/.ssh/authorized_keys para el usuario remoto que no se puede anteponer la variable command:

% cat ~/.ssh/authorized_keys 
ssh-rsa ...... [email protected] 
# gitolite start 
command="/home/gituser/.... [email protected] 
# gitolite end 
% 

Simplemente elimine la primera línea y listo.

+1

Esto es exactamente lo que me sucedió. Anteriormente había seguido una instalación estándar de git-server basada en ssh, luego decidí ir a gitolite, pero dejé las claves públicas 'no prefijadas' en el archivo authorized_keys – Stefano

+0

oh el puntero a la gran advertencia en gitolite doc: http: // sitaramc. github.com/gitolite/doc/2-admin.html#_adding_users_and_repos – Stefano

2

La mayoría de las veces, esto parece deberse a que ssh no pasa la clave pública derecha para usar en gitolite. Cf. "Does Not Appear to be a Git Repository". Un comentario en este artículo enlaza al sitio web del autor gitolite, especialmente al 'Apéndice # 2', que explica cómo saber "which key is which".

Cuestiones relacionadas