2016-12-03 7 views
0

私はVisual Studioの拡張CommitFormatterに​​を実装しようとしています。そのためにはgit diffパッチが必要です。私は libgit2sharpを使用することができますが(これは簡単だと思いますが)、それは追加の依存関係を引き起こします。必要がない場合は、拡張機能に追加したくない負担です。チームエクスプローラから差分パッチを取得する方法は?

チームエクスプローラのAPIの1つを使用して同じものを取得することができますが、Visual Studioに含まれているライブラリであるMicrosoft.TeamExplorer.*.dllライブラリの量に圧倒されており、このために適切なMSDNページが見つかりません。コマンドラインは、あなたが得られますが、その後、チームエクスプローラのAPIを使用してから

私は何を達成したいことは、ステージングエリアの「差分パッチ」を取得することで、出力git diff --cachedこと」。何libgit2sharpさんに似てrepo.Diff.Compare<Patch>(repo.Head.Tip.Tree, DiffTargets.Index)うあなたを与える。

答えて

1

は、パブリックまたはプライベートGitの差分を、提供して何のMicrosoft.TeamExplorerアセンブリがありません。

をバージョン、チームエクスプローラのいずれかによっては、または使用(前VS 2017の)gitリポジトリと対話するためにLibGit2Sharpを使用していますgit(VS2017)。

ただし、はありません。バージョンは実際にgit diffファイルを作成します。差異ビューは、生ファイルをリポジトリから取り出し、差異を計算して表示し、パッチファイルを入力または中間ステップとして使用しません。

diffを生成するには、LibGit2Sharpを使用するか、gitを呼び出してください。

関連する問題