12

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 内の並列機能を理解できないようです。誰かが私を正しい方向に向けることができますか?

4

2 に答える 2

25

次のように試すことができます。

DateTime startDateTime = // ...;
DateTime endDateTime = // ...;
SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(startDateTime), new SvnRevision(endDateTime));
client.GetLog(uri, new SvnLogArgs(range), out logitems);
于 2009-06-12T21:33:01.530 に答える
4

パラメータを取る関数の1つを使用してそれを行うことができると思います。GetLogSharpSvn.SvnLogArgs

public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs args,
        out System.Collections.ObjectModel.Collection logItems)

そのクラスにはStart/Endがあります。これは、「時間」パラメーターを取ることができるように見えるSharpSvn.SvnRevisionオブジェクトです。

私はそれを少ししかやっていませんが、それはあなたが探し始めることができるところです.

于 2009-06-12T21:26:37.257 に答える