gitolite无法执行git

我有问题设置gitolite。 服务器是Mac OS X Server 10.5.8,客户端是Mac OS X 10.6.6。 两者都运行从源代码编译的git 1.7.3.4。

我尽可能最好地遵循文档,但是它确实需要进行一次大的修改,并且在某些地方令人困惑。 我认为提交人并不认为这是冒犯的。

我使用“根方法” 安装 。 问题是当我运行最后一步时: cd; git clone git@server:gitolite-admin cd; git clone git@server:gitolite-admin

以下是客户端的情况:

 tom @ client $ ssh [email protected] info
你好汤姆,这里的gitolite版本是v1.5.8-22-g6bcb5c1
 gitoliteconfiguration给你以下的访问权限:
      RW gitolite-admin
     @R_ @W_testing
 tom @ client $ git clone [email protected]:gitolite-admin
克隆到gitolitepipe理...
无法执行“git”:在/ usr / local / bin / gl-auth-command第176行没有这样的文件或目录。
致命的:远端意外挂断

从https://github.com/sitaramc/gitolite/blob/pu/doc/ssh-troubleshooting.mkd

因此,debugging起来要容易得多。 只要运行ssh git@server info 。 如果这让你的gitolite版本和访问信息,一切都很好。 如果要求input密码,请参阅本文档的第一部分以获得帮助。

因此我得出结论:gitolite的SSH部分已经正确configuration。

服务器:

 admin @ server $ su  -  git
密码:
 git @ server $哪个git
在/ usr / local / bin目录/混帐
 git @ server $ which gl-auth-command
在/ usr / local / bin目录/ GL-auth的命令
 git @ server $ tail -n 2 / usr / local / bin / gl-auth-command 
 $ repo =“'$ REPO_BASE / $ repo.git'”;
 exec(“git”,“shell”,“-c”,“$ verb $ repo”)除非$ verb eq'git-init';

git可以在服务器上使用,就像在git用户的$PATH

我用“尾巴”来显示最后两行175和176,显然最后一行是失败的。

什么是错的? 我一直用这个把我的头撞到墙上。

这看起来可能是这里描述的同样的问题:

Mac上的gitolite设置=> git-upload-pack:找不到命令

交互式会话不一定具有与非交互式会话相同的环境variables。 尝试将git(/ usr / local / bin)的PATH添加到在交互式和非交互式会话中读取的git用户的shell初始化文件中。 如果git用户的shell是bash,请尝试〜git / .bashrc。

如果gl-auth-command无法findgit安装位置,可以在gitolite.rc文件中设置$GIT_PATHvariables。 有关更多信息,请参阅http://sitaramc.github.com/gitolite/doc/gitolite.rc.html

当从ssh运行gl-auth-command时,/ usr / local / bin /不是$ PATH的一部分,所以你的shell必须在正常login时添加它,而不是在非login非交互式使用期间。