2

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

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

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

4

2 回答 2

1

gitoltie 是一个 perl 脚本,它接受一个登录名并根据您的身份检查是否应该执行或拒绝 git 命令:它是一个授权层

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

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

尝试在 php 中重新实现 gitolite(就像在这个github 项目中一样)不是一个好的解决方案。

于 2013-08-06T20:15:14.630 回答
0

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

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

于 2013-10-24T03:39:56.560 回答