用于智能http git的git前端功能(ality)在php中?

时间:2013-08-06 19:52:53

标签: php git apache gitolite

我正忙着用智能http安装gitolite3。 Gitolite3本质上只是一堆脚本,它们将请求转发回git-http-backend(我认为),并在每次公共git请求之前/期间/之后调用各种钩子。

在某些地方用PHP编写类似的东西吗?当我在firefox中查看git请求通过http的URL时,我注意到通信只是文本,所以我很确定你可以在apache(或nginx)中“捕获”每个php的git请求,并运行授权这样的系统,将这些git请求转发给git后端。

我想我正在寻找一个php-git模块,但我找不到任何东西。有没有像我在这里描述的那样的东西?

2 个答案:

答案 0 :(得分:1)

gitoltie是一个perl脚本,它接受一个登录名,并根据你是谁来检查是否应该执行或拒绝git命令:它是 authorization layer

只要您的框架(在您的情况下为PHP)可以调用该perl脚本,您就可以在任何系统中插入gitolite。
这就是我所做的:

只要您的网络服务器可以在访问php页面之前调用perl脚本,就可以使用gitolite。

尝试在php中重新实现gitolite(如此github project中)并不是一个好的解决方案。

答案 1 :(得分:0)

我在github做了一个类似的项目here来帮助我轻松设置git smart http,而无需触及httpd.conf或玩弄.htaccess。

它实际上就像你的git客户端和git-http-backend之间的中继请求一样通过单个php文件,就像你说的那样。