2017-05-20 12 views
1

LibGit2Sharpを使用して正常にフェッチ、プル、プッシュなどを行うことができましたが、変更、追加などの後にファイルをリストできます。フェッチをしています。私はhttps://github.com/libgit2/libgit2sharp/wiki/git-fetchを使用していますが、エラーまたは例外は発生せず、logMessageは空の文字列です。LibGit2Sharpを使用したフェッチからのリモート変更のリストの取得方法

フェッチを実行するときにVisual Studioのような変更の一覧を表示したいと考えています。

LibGit2Sharpを使用してこれを行うにはどうすればよいですか?

編集: 私はLibGit2Sharp WikiとLibGit2Sharp Hitchhiker's Gitのガイドを読んでいます。利用可能なコマンドをいくつか試してみましたが、どのような結果が得られたのかを確認するには、これと同等のgitコマンドが何であるかわかりません。どのコマンドがこの情報を提供するのかを知っていることを知っておくと役に立ちます.LibGit2Sharpではなく、Gitに精通している人には分かります。

+0

これは、それがdownvoteの理由であると仮定して、説明に追加しました。 – Daniel

答えて

2

フェッチが完了したら、あなたは

(一般 origin/yourbranch、上流のリモート追跡ブランチ)フェッチはあなたからマージされた分岐を指定 @{u}

git log [email protected]{u} 

で与えられたブランチのコミットを一覧表示することができますLibGitSharpで

、それはそれで何LibGit2Sharp/BranchUpdater.cs#UpstreamBranch参照(上流分岐)

で、あなたの現在のブランチのHEAD間commmitsを一覧表示することができると「なければなりません"のようなビットで、issue 1161のようなものですが、その問題はプッシュされているものをリストしていました。ここではログのパラメータを逆転させてください。

var trackingBranch = repo.Head.TrackedBranch; 
var log = repo.Commits.QueryBy(new CommitFilter 
      { IncludeReachableFrom = trackingBranch.Tip.Id, ExcludeReachableFrom = repo.Head.Tip.Id }); 

var count = log.Count();//Counts the number of log entries 

//iterate the commits that represent the difference between your last 
//push to the remote branch and latest commits 
foreach (var commit in log) 
{ 
    Console.WriteLine(commit.Message); 
} 
+0

ありがとうございました!これは、CommitFilterのIncludeReachableFromとExcludeReachableFromで機能しました。 – Daniel

+0

@Daniel素晴らしい!私はあなたの編集を承認しました。 – VonC

関連する問題