一个用于个人Git服务器存储库的Web API(类似于GitHub REST API),以启用“git log”?

12

我可能最终会重新发明一些与我的repo服务器类似的部分github REST API。但也许已经有一些服务器脚本可以做到这一点了吗?或者您有其他建议吗?

这是我的用例:

我正在开发一个Firefox扩展程序,它将显示特定GitHub存储库的数据。

git log -- <path>

我可以编写一个小型服务器脚本,使用成熟的JGit实现"git log"命令。但是,FF扩展程序依赖于该服务器脚本 ;(

我想知道是否存在类似于GitHub REST API,适用于“非-GitHub”存储库,并且比我的小型服务器脚本更标准化的东西?

我还考虑过Git JS Client,例如Git.JS(明显是唯一的JS客户端;适用于node.js;不幸的是该项目已经不再更新并且没有文档)。但是,我只需要从远程主存储库以只读方式检索一些信息,而不是完整的客户端。


代码相关内容翻译:仓库是在最终用户的计算机上本地存储还是在您的服务器上? - ZeissS
仓库应该在我的服务器上,就像我是github.com一样。 - OneWorld
3个回答

5
虽然我来晚了,但我注意到一些可能有助于回答的内容。

Orion Git API Orion是一个Eclipse项目。

RESTFul Git 来自Hulu在github上的项目。


3
如果你还没有尝试过的话,GitBlit 是一个非常酷的选择。我在几个Windows专用服务器上安装了多个实例,使用REST API将它们整合在一起。使用“GO: Single-Stack Solution”,我在不到5分钟的时间里就将其启动运行在Windows系统中。

Gitblit GO是基于Jetty的集成单栈解决方案。

你不需要Apache httpd、Perl、Git或Gitweb。如果你想要使用这些软件中的一些或全部,你仍然可以;Gitblit和其他软件兼容。

如果你想要在不到5分钟的时间内从零开始使用Git,那么这就是你应该下载的东西。


1
我认为你需要自己实现一些服务器端代码。
你可以选择任何你喜欢的服务器端语言。我相信Ruby或Python都可以很好地工作。然后创建一个简单的网站,其中包含一个页面,嵌入根据给定参数输出的git日志。
我相信其他所有选项都不适用于你。由于Git的分布式特性,你无法远程访问Git存储库的历史记录 - 你只能读取本地存储库的历史记录。
通过你的扩展程序阅读该网页并解析输出将会给你所需的结果。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接