2016-12-03 5 views
0

Я пытаюсь реализовать my own feature request для расширения Visual Studio CommitFormatter, и для этого мне нужен патч git diff. I мог использовать libgit2sharp (что я ожидаю, что это будет легко), однако это приведет к дополнительной зависимости. Бремя, которое я не хочу добавлять на расширение, если оно не требуется.Как получить патч diff от Team Explorer?

Я ожидаю, что можно получить то же самое, используя один из API-интерфейсов Team Explorer, но я немного перегружен количеством библиотек Microsoft.TeamExplorer.*.dll, которые Visual Studio содержит, и не может найти никаких хороших страниц MSDN для этого ,

То, что я хочу добиться того, чтобы получить «заплатку» из промежуточной области, вывод, что git diff --cached "из командной строки дает вам, но затем с помощью API Team Explorer. Подобно тому, что бы libgit2sharp«s repo.Diff.Compare<Patch>(repo.Head.Tip.Tree, DiffTargets.Index) дать вам.

ответ

1

Там нет Microsoft.TeamExplorer сборки, которая обеспечивает GIT диф, государственный или частный.

в зависимости от версии, Team Explorer либо использует LibGit2Sharp взаимодействовать с хранилищем мерзавца (до VS 2017 года) или использования git (VS 2017).

Однако нет версия фактически создает git diff файлы. Разностный вид выводит необработанные файлы из репозитория и вычисляет различия и отображает их сам, он не использует файлы патчей в качестве ввода или в качестве промежуточного шага.

Вы должны либо использовать LibGit2Sharp, либо позвонить git, чтобы создать diff.

 Смежные вопросы

  • Нет связанных вопросов^_^