2013-03-22 1 views
2

리모컨에 호스트 A에서 푸시 된 파일 (RemoteTest.txt)이 변경되었습니다. 에 호스트 B 나는 그 마지막 푸시가없는 상태입니다.가져온 원격 참조에 파일의 최신 버전이 있는지 찾는 방법은 무엇입니까?

이제 "git diff"로 bash로 이동하면 변경 사항이 표시됩니다.

$ git diff origin/master head 
diff --git a/RemoteTest.txt b/RemoteTest.txt 
index 40604b4..b36b5e8 100644 
--- a/RemoteTest.txt 
+++ b/RemoteTest.txt @@ -1 +1,6 @@ 

.. 그리고 등등은 ...

나는

IEnumerable<string> paths = new List<string>() {@"origin/master", "head"}; 
TreeChanges tc = repo.Diff.Compare(paths); 

와 C#에서의 변화를 얻기 위해 노력하지만, TC는 0의 변화를 보여줍니다. 이 작업을 수행하는 올바른 방법은 무엇입니까?

미리 감사드립니다.

답변

3

HEADorigin/master 참조로 표시된 을 Commit과 비교해야합니다.

어때 다음과 같은 걸까요?

var headTree = repo.Head.Tip.Tree; 
var remoteMasterTree = repo.Branches["origin/master"].Tip.Tree; 

TreeChanges tc = repo.Diff.Compare(remoteMasterTree, headTree); 

참고 : Compare 과부하가 비교 Trees 내에서 파일의 경로 (또는 pathspecs)를 포함한다 동의 경로의 옵션 목록입니다. 예를 들어 유스 케이스를 고려하여 new[] { "RemoteTest.txt" }을 메소드의 세 번째 매개 변수로 전달할 수 있습니다.

+0

너는 남자 야! :) 즉시 감사했습니다! – Luca

관련 문제