GIT在克隆和推送时使用哪些HTTP协议?

时间:2011-11-25 02:26:01

标签: asp.net-mvc git libgit2sharp

我正在尝试使用LibGit2Sharp库来处理基本的GIT命令,例如使用ASP.MVC进行克隆和推送,并且不确定我应该如何设置我的控制器以进行相应的响应。

克隆推送时,GIT是否会启动HTTP GET和POST请求?我的控制器应该设置为

[HttpGet]
public ActionResult Clone(string path)
{
  //Return repo as stream?
}

[HttpPost]
public ActionResult Push(string path)
{
  //Commit to repo
}

由于

1 个答案:

答案 0 :(得分:2)

据我所知,您正在尝试编写与git-daemon类似的代码。 遗憾的是,LibGit2Sharp尚未实现与网络相关的功能。

因此,无法提供来自ASP.Net MVC的pushpullclonefetch请求。

LibGit2Sharp跟踪器中的

@synhershko问题涉及相关主题: Proper pull, fetch, merge support

修改 如果您希望从HTTP角度更好地了解Git传输协议,我会热烈推荐以下资源:

然后,我担心你必须深入研究代码,以便更好地掌握它的“工作原理”。我的经验是,从JGit(Java重新实现Git)代码开始,比直接深入了解原始的Git C代码要容易一些。您将找到与JGit传输相关的代码 here