Gitserver on rails app

时间:2015-06-05 18:45:58

标签: ruby-on-rails git gitlab rails-api

我有一个rails应用程序,旨在提供githosting。每个用户可以拥有多个存储库。我准备好了我的Web框架(创建问题,评论和创建新的存储库,浏览器上传文件,编辑等)。我使用坚固耐用的git相关作品。

现在我想让用户能够从命令行(git push/pull path_to_repo)推送/拉出他们的存储库。 如何通过git push/pull之类的命令与我的rails应用程序通信?我试图通过gitlab,但他们的回购太大了。如果有人能指出正确的方向,我将非常感激。 gitlab似乎使用gitlab-shell,但gitlab-shell中的所有代码似乎都是关于用户的身份验证。他们什么时候甚至执行repo的实际更新以及它如何与实际的repo进行通信?

现在,如果我这样做:

git clone localhost:3000/data/repos/addie/fancy_project/satellite/.git/

我收到以下错误:

  

克隆到' satellite' ...致命:存储库   ' http://localhost:3000/data/repos/addie/fancy_project/satellite/.git/'   找不到

和记录器显示:

Started GET "/data/repos/addie/fancy_project/satellite/.git/info/refs?service=git-upload-pack" for 127.0.0.1 at 2015-06-06 01:30:03 +0530

ActionController::RoutingError (No route matches [GET] "/data/repos/addie/fancy_project/satellite/.git/info/refs")

我知道在public/data/repos/addie/fancy_project/satellite/存在一个名为.git的仓库。是铁路路由器正在进入。对文件系统的正常命令:

git clone my_project/public/data/repos/addie/fancy_project/satellite/.git

工作得很好。我启用了更新后的挂钩,就像解释它here

一样

0 个答案:

没有答案