我正试图通过日期在尖锐的svn中进行差异--summarize。 但是起始修订版不应该是开始日期之后的第一个修订版(至少这是我对diff命令的理解,日期为标记) 但是在开始日期之前进行了第一次修订。
获取getdiffsummary的语法(sharpsvn相当于diff --summarize) qoutesource
using (var client = new SvnClient()) { var location = new Uri("http://my.example/repos/trunk"); client.DiffSummary(new SvnUriTarget(location, 12), new SvnUriTarget(location, SvnRevision.Head), delegate(object sender, SvnDiffSummaryEventArgs e) { // TODO: Handle result }); }
问题是,我不知道如何在给定日期之前获得修订。
Objectbrowser给了我:
SharpSvn.SvnUriTarget.SvnUriTarget(System.Uri,System.DateTime)
问题是,与修订对象不同,我只能做“修订版b - 1” 日期会改变。
有什么想法吗?
答案 0 :(得分:0)
到目前为止,这是我的解决方案。忘了张贴=)
private static SharpSvn.SvnRevision TimeToPreRevision(DateTime date, Uri link, SharpSvn.SvnClient client)
{
SvnRevision retr = new SvnRevision();
DateTime retr_date = new DateTime();
SvnLogArgs args = new SvnLogArgs { Start = date};
client.Log(link, args, delegate (object sender3, SvnLogEventArgs e)
{
if (e.Time.Date < date.Date)
{
if(retr.Time < e.Time)
{
retr = e.Revision;
retr_date = e.Time;
}
}
});
return retr;
}