日付範囲内のログエントリを取得するためにSharpSvnを使用しました
質問
私はと対話するために SharpSvn に使用していますC#のコードを経由して、私のSVNリポジトリ。私は、SVNのログエントリを取得するために、このコードを使用しています:
Collection<SvnLogEventArgs> logitems;
var uri = new Uri("http://myserver/svn/foo/bar.txt");
client.GetLog(uri, out logitems);
foreach (var logentry in logitems)
{
string author = logentry.Author;
string message = logentry.LogMessage;
DateTime checkindate = logentry.Time;
}
これはうまく動作しますが、今は改訂日付で返されるログエントリを制限したいです。これは、
のようなものではsvnコマンドラインを介して行うことができるものですsvn log "http://myserver/svn/foo/bar.txt" --revision {2008-01-01}:{2008-12-31}
私はSharpSvn内の並列性を見つけ出すように見えることはできません。誰かが正しい方向に私を指すことができますか?
解決
あなたはこのようにそれを試すことができます:
DateTime startDateTime = // ...;
DateTime endDateTime = // ...;
SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(startDateTime), new SvnRevision(endDateTime));
client.GetLog(uri, new SvnLogArgs(range), out logitems);
他のヒント
私はがのあなたはGetLog
パラメータを取るSharpSvn.SvnLogArgs
機能のいずれかを使用してそれを行うことができるかもしれないと思う。
public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs args,
out System.Collections.ObjectModel.Collection logItems)
そのクラスは、彼らが "時間" パラメータを取ることができますようにを見てをStart
オブジェクトであるEnd
/ SharpSvn.SvnRevision
を持っています。
私はそれだけで少しやったが、あなたが探し始める可能性がどこそれは次のようになります。
所属していません StackOverflow