Utilizzando SharpSvn per recuperare le voci di registro all'interno di un intervallo di date
Domanda
SharpSvn di interagire con mio repository svn tramite codice C #. Sto usando questo codice per recuperare le voci del registro 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;
}
Questo funziona bene, ma ora voglio limitare le voci del registro restituiti dalla data di revisione. Questo è qualcosa che può essere fatto tramite riga di comando svn con qualcosa come
svn log "http://myserver/svn/foo/bar.txt" --revision {2008-01-01}:{2008-12-31}
Non riesco a capire una capacità parallelo all'interno SharpSvn. Qualcuno mi può punto nella giusta direzione?
Soluzione
Si può provare in questo modo:
DateTime startDateTime = // ...;
DateTime endDateTime = // ...;
SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(startDateTime), new SvnRevision(endDateTime));
client.GetLog(uri, new SvnLogArgs(range), out logitems);
Altri suggerimenti
I pensare si potrebbe essere in grado di farlo utilizzando una delle funzioni GetLog
che prende un parametro SharpSvn.SvnLogArgs
.
public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs args,
out System.Collections.ObjectModel.Collection logItems)
Questa classe ha Start
/ End
che sono oggetti SharpSvn.SvnRevision
che cercare come si può prendere un parametro "tempo".
Ho fatto solo un po 'con lui, ma che sarebbe dove si poteva cominciare a cercare.