在Visual Studio中以编程方式查询Git

3
我们刚刚从使用TFS转换到使用Git作为我们的版本控制系统。我们已经连接到了Git,并且可以轻松地进行签入等操作。
但是,我们有一个需要为Git重新编写的Visual Studio扩展程序。使用TFS编程相当简单,但我无法在Git上实现任何功能。Microsoft文档要么是错误的,要么我做错了。例如,要获取对Git存储库的引用,请使用TfsGitRepository,并通过TeamFoundationGitRepositoryService获取。那(据说)存在于Microsoft.TeamFoundation.Git.Server命名空间中。但是,在尝试添加引用时,Visual Studio声称该命名空间不存在;只有Microsoft.TeamFoundation.Git.Controls存在。
有人知道使用Visual Studio通过Git的一些可靠文档吗?或者如何做到这一点?
编辑:
我们使用的是Visual Studio 2015。

哪个Visual Studio?VS 15(将删除libgit2)还是2015?请参见https://dev59.com/JZvga4cB1Zd3GeqP5KdU#40059664。 - VonC
你是否检查过 https://www.visualstudio.com/en-us/docs/integrate/extensions/overview? - Sergei G
1
Git.Server仅存在于TFS服务器API中,而不在客户端API中。对于本地客户端访问,您只能使用LibGitSharp或直接包装git.exe。 - jessehouwing
@VonC:抱歉,我应该提到我正在使用VS2015。 - Frecklefoot
@Ypsilon IV:是的,我看到了那个,但可能只是匆匆浏览了一下。我有很多东西要阅读,试图获取信息。 - Frecklefoot
1个回答

3
您提到的命名空间位于TFS服务器API上,而不在TFS客户端对象模型中。要在本地使用Git,您需要确保有本地克隆,并且可以使用LibGit2(非托管)、LibGitSharp(托管)或直接调用和解析git.exe与其交互。
Visual Studio没有自己的对象模型来访问Git,它真正依赖于这些标准的开源库。Visual Studio 2015及之前版本附带了一个版本的LibGitSharp。即将发布的下一个版本的Visual Studio将提供一种新的访问git存储库的方法,并包装git.exe,对git进行进程外操作。可以在Team Explorer扩展文件夹中找到包装器,但我不确定这些程序集的支持级别。
C:\Program Files (x86)\Microsoft Visual Studio\VS15Preview\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

如果你需要在TFS服务器上检查可用的git仓库,你应该使用REST api来查询可用的仓库,然后在获取正确的仓库进行克隆之后,跳转到克隆本地git仓库。


哇,这是一些很棒的信息!难怪网络上没有什么有用的东西。非常感谢! - Frecklefoot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接