2

我正在尝试使用 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
}

谢谢

4

1 回答 1

2

据我了解,您正在尝试编写类似于 git-daemon 的代码。不幸的是,LibGit2Sharp 还没有实现与网络相关的功能。

因此,目前还不能为 ASP.Net MVC 提供、push或请求。pullclonefetch

@synhershko在 LibGit2Sharp 跟踪器中的问题涉及一个相关主题:正确的拉取、获取、合并支持

编辑: 如果您希望从 HTTP 的角度更好地了解 Git 传输协议,我强烈建议您从以下资源开始:

然后,恐怕您必须深入研究代码才能更好地了解它是如何“工作”的。我的经验是,从 JGit(Java 重新实现 Git)代码开始比直接深入原始 Git C 代码要容易一些。您将在此处找到与 JGit 传输相关的代码。

于 2011-11-25T11:14:37.723 回答