SharpSvn按日期在修订版之间进行更改,启动-1 / Svn diff --summarize /

时间:2016-03-02 13:24:08

标签: c# date svn diff sharpsvn

我正试图通过日期在尖锐的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” 日期会改变。

有什么想法吗?

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;
    }