2017-10-27 8 views
2

私はLibGit2Sharpを使用しています。どうすればgit diffコマンドを次のパラメータで呼び出すことができますか?git diffの実行方法--name-status origin/master ... LibGit2SharpのHEAD?

git diff --name-status origin/master...HEAD 

私はgit diff A...Bgit diff $(git-merge-base A B) Bと同等であることを、知っています。

+0

ご質問が誤解された場合は、さらに編集していただくか、以前のバージョンに戻してください。 – JDB

+0

@JDB編集していただきありがとうございますが、解決策が見つかりました(下記の回答)。 –

+0

回答を投稿していただきありがとうございます!スタックオーバーフローを他の開発者にとって素晴らしいリソースにするのはあなたのようなユーザーです。 – JDB

答えて

2

解決策が見つかりました。このようにすることができます:

1)共通の2つの祖先を取得します。

2)ツリー間で差分を取得します。

var baseCommit = repo.ObjectDatabase.FindMergeBase(repo.Branches["origin/master"].Tip, repo.Head.Tip); 
var diff = repo.Diff.Compare<TreeChanges>(baseCommit.Tree, repo.Head.Tip.Tree); 
関連する問題