15

有没有人尝试过 gitolite 的简单安装选项?
我正在尝试将 gitolite 从我的窗户(工作站)安装到 solaris 盒子。

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

该命令在以下位置中断。

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

有没有人遇到过这个问题?你认为 gitolite 值得这个努力吗?我正在为 Git 评估 ACL。

感谢您提前回复。

【下面是完整的命令执行日志】

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/.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
4

4 回答 4

22

如果在服务器上,git用户有一个未以变量~/.ssh/authorized_keys为前缀的远程用户的密钥,则可能会发生这种情况:command

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

只需删除第一行就可以了。

于 2011-08-08T20:42:37.487 回答
3

我做了完全相同的安装(从 Windows 到 Solaris),这是值得的。

我做的:

  • 从 git bash 会话(不是 DOS 会话),
  • $HOME正确设置(即引用.ssh存储我的公钥/私钥的目录,包括存在于 Solaris 服务器端的用户的目录)
于 2010-07-16T04:02:02.963 回答
2

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".

于 2011-08-22T22:38:41.720 回答
1

我们通过阅读https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd文档解决了这个问题。特别是提到我们没有听从指示的部分。“这些问题发生在完全没有阅读/注意在运行 gl-easy-install 结束时显示的消息的人身上”删除所有文件。重新运行安装,并注意说明:)

于 2011-03-15T19:08:54.777 回答