2017-10-27 13 views
2

저는 LibGit2Sharp를 사용하고 있습니다. 어떻게하면 다음과 같은 매개 변수와 함께 자식 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) 나무 사이에 diff를 가져옵니다.

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);