2016-10-17 94 views
0

我想托管我自己的Git远程存储库,然后通过REST API从我的应用程序(spring boot)中公开它。我的问题是如何克隆/叉等工作? 当客户端调用我的克隆API时,通过Http响应传输存储库中的所有文件/内容在技术上是否可行? 有没有人取得过这个成果,最好的方法是什么?Git存储库上的RESTful API

+0

您认为RESTful API能够完成什么? REST并不意味着HTTP - git已经可以通过HTTP工作。创建一个不同的端点将不起作用 –

回答

0

你不想自己创造一些类似Github的东西,对吗? :)

但解决您的具体问题,克隆/叉显然应该不是以HTTP响应/请求传送文件,而是应该向暴露的REST API类似与HTTP参数repositoryName HTTP请求POST cloneRepository服务器(设置为要克隆的存储库名称),然后由Spring MVC控制器处理,然后在托管Git存储库的服务器上启动Git命令。

+1

或者您可以使用CGI和[git-http-backend](https://git-scm.com/docs/git-http-backend)。 –

+0

谢谢。事实上,除了我的弹簧启动应用程序外,我已经在我的服务器上托管了Git远程存储库。从我的应用程序中,我需要管理这个存储库。就像我在应用程序(从UI)中克隆回购库时一样,我希望由我的应用程序执行git克隆,这会将回购内容传输到客户端。在服务器上再次克隆它是我想避免的。 –

+0

@manubhat如果我现在理解正确(似乎我误解了你的问题),你应该遵循Panagiotis Kanavos的建议也许http://www.parallelsymmetry.com/howto/git.jsp也许会有所帮助。 –