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

认为您可以使用带参数的GetLog函数之一来做到这一点。SharpSvn.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 回答