باستخدام Sharpsvn لاسترداد إدخالات السجل في نطاق التاريخ

StackOverflow https://stackoverflow.com/questions/989034

  •  13-09-2019
  •  | 
  •  

سؤال

أنا استخدم sparpsvn. للتفاعل مع مستودع SVN الخاص بي عبر رمز C #. أنا أستخدم هذا الرمز لاسترداد إدخالات سجل 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 الكائنات التي بحث مثلما يمكن أن تأخذ معلمة "الوقت".

لقد قمت فقط بقليل معها، ولكن هذا سيكون المكان الذي يمكن أن تبدأ فيه النظر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top