我正在尝试将my own feature request实现到Visual Studio扩展CommitFormatter,我需要git diff补丁。我可以使用libgit2sharp(我希望它很容易),但是,这将带来额外的依赖。如果不需要,我不想在扩展上添加负担。
我希望使用团队资源管理器的API之一可以获得相同的功能,但是我对Visual Studio包含的库Microsoft.TeamExplorer.*.dll
库的数量感到有些不知所措,并且找不到任何好的MSDN这个页面。
我想要实现的是获取暂存区域的“diff patch”,命令行提供的git diff --cached
“输出,然后使用Team Explorer API。类似于{{ 1}} libgit2sharp
会给你。
答案 0 :(得分:1)
没有Microsoft.TeamExplorer
程序集提供git diff,public或private。
根据版本,团队资源管理器使用LibGit2Sharp与git存储库进行交互(在VS 2017之前)或使用git
(VS 2017)。
然而,没有版本实际上创建了git diff文件。差异视图将原始文件从存储库中取出并计算差异并自行显示它们,它不使用补丁文件作为输入或作为中间步骤。
你应该使用LibGit2Sharp或者调用git
来产生差异。