开发者

gitolite installation issue

开发者 https://www.devze.com 2023-01-07 18:30 出处:网络
Has any one tryied the easy install option of gitolite? I am trying to install gitolite from my windows (workstation ) to a solaris box.

Has any one tryied the easy install option of gitolite?

I am trying to install gitolite from my windows (workstation ) to a solaris box.

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

The command breaks at the following place .

*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**

Has any one encountered this issue? Do you think gitolite is worth this effort? I am looking to evaluate ACL for Git.

Thanks for your response in advance.

[The complete command execution log below]

CHANDVE@CHANDVE /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/.gito开发者_高级运维lite/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


This can occur if on the server, the git user has a key in ~/.ssh/authorized_keys for the remote user that is not prefixed with the command variable:

% cat ~/.ssh/authorized_keys
ssh-rsa ...... user@host
# gitolite start
command="/home/gituser/.... user@host
# gitolite end
%

Just remove the first line and you're good to go.


I did precisely the same installation (Windows to Solaris), and it is worth it.

I did it:

  • from a git bash session (not a DOS session),
  • with $HOME correctly set (i.e. referencing a directory where my .ssh public/private keys are stored, including the one for the user present on the Solaris server side)


Most of times, this seems to be because ssh doesn't pass the right public key to use to gitolite. Cf. "Does Not Appear to be a Git Repository". A comment in this article links to the gitolite author's website, especially to the 'Appendix #2', which explains how to know "which key is which".


We fixed this by reading the https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd document. Specifically the section that mentions that we did not heed the instructions. "These problems happen to the person who has utterly failed to read/heed the message that shows up at the end of running the gl-easy-install" Remove all files. Re-run the install, and HEED the instructions :)

0

精彩评论

暂无评论...
验证码 换一张
取 消