¿Cómo recuperar el parche diff de Team Explorer?

Estoy tratando de implementar mi propia request de funciones en la extensión de Visual Studio CommitFormatter , y necesito el parche de git diff para eso. Podría usar libgit2sharp (que espero que sea fácil), sin embargo, eso generará una dependencia adicional. Una carga que no quiero agregar en la extensión, si no es necesaria.

Espero que sea posible get el mismo uso de una de las API de Team Explorer, pero estoy un poco abrumado con la cantidad de bibliotecas Microsoft.TeamExplorer.*.dll que contiene Visual Studio, y no puedo encontrar ninguna buena página de MSDN. para esto.

Lo que quiero lograr es get el "parche de diferenciación" del área de preparación, la salida que git diff --cached " git diff --cached " de la command-line, pero luego utilizando la API de Team Explorer. Similar a lo que libgit2sharp de libgit2sharp repo.Diff.Compare<Patch>(repo.Head.Tip.Tree, DiffTargets.Index) te daría.

No existe un ensamblado Microsoft.TeamExplorer que proporcione un git diff, público o privado.

Dependiendo de la versión, Team Explorer usa LibGit2Sharp para interactuar con el repository de git (antes de VS 2017) o usa git (VS 2017).

Sin embargo, ninguna versión realmente crea files git diff. La vista de diferencia extrae los files sin procesar del repository y calcula las diferencias y las visualiza por sí mismo, no utiliza files de parche como input o como paso intermedio.

Deberías usar LibGit2Sharp o llamar a git para producir un diff.