Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc GIT在克隆和推送时使用什么HTTP协议?_Asp.net Mvc_Git_Libgit2sharp - Fatal编程技术网

Asp.net mvc GIT在克隆和推送时使用什么HTTP协议?

Asp.net mvc GIT在克隆和推送时使用什么HTTP协议?,asp.net-mvc,git,libgit2sharp,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) { /

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

据我所知,您正在尝试编写类似于git daemon的代码。 不幸的是,LibGit2Sharp还没有实现与网络相关的特性

因此,还不可能从ASP.NETMVC提供
推送
拉取
克隆
获取
请求

LibGit2Sharp tracker中的问题涉及一个相关主题:

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


那么,恐怕您必须深入研究代码,以便更好地掌握它的“工作原理”。我的经验是,从JGit(Git的java重新实现)代码开始比直接深入原始Git C代码要容易一些。你会发现JGit传输相关的代码

看看源代码,看看实际做了什么,尽管我认为这不重要,或者看看这个问题的第一个答案:如果我理解发送的内容,那么MVC可能就是LibGit2Sharp的网络接口。我不明白为什么LibGit2Sharp需要网络相关功能,而它需要处理的只是本地磁盘存储库?@Fixer如果我理解发送的内容,那么好吧->我已经用一些网络协议相关文档和代码的链接更新了我的答案。我不明白为什么LibGit2Sharp需要网络相关功能->LibGit2Sharp是libgit2之上的绑定。libgit2的范围超出了本地存储库;-)谢谢你的额外信息,应该是有用的。是的,很抱歉缺少信息,我的应用程序仅将LibGit2用于本地回购。MVC应用程序将成为进出其他回购协议的接口。