Usando SharpSvn para recuperar entradas de registro dentro de un intervalo de fechas
Pregunta
Estoy usando SharpSvn para interactuar con mi repositorio sVN a través de código C #. Estoy usando este código para recuperar entradas de registro de 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;
}
Esto funciona bien, pero ahora quiero para restringir las entradas de registro devuelto por fecha de revisión. Esto es algo que se puede hacer a través de la línea de comandos svn con algo como
svn log "http://myserver/svn/foo/bar.txt" --revision {2008-01-01}:{2008-12-31}
Me parece que no puede averiguar una capacidad paralela dentro SharpSvn. Alguien me puede apuntar en la dirección correcta?
Solución
Usted puede tratar de esta manera:
DateTime startDateTime = // ...;
DateTime endDateTime = // ...;
SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(startDateTime), new SvnRevision(endDateTime));
client.GetLog(uri, new SvnLogArgs(range), out logitems);
Otros consejos
piensan que podría ser capaz de hacerlo usando una de las funciones GetLog
que toma un parámetro SharpSvn.SvnLogArgs
.
public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs args,
out System.Collections.ObjectModel.Collection logItems)
Esa clase tiene Start
/ End
que son objetos los cuales SharpSvn.SvnRevision
buscar como pueden tener un parámetro de "tiempo".
Sólo he hecho un poco con ella, pero eso sería donde se puede empezar a buscar.