Frage

Ich bin mit SharpSvn zur Interaktion mit meine sVN-Repository über C # -Code. Ich verwende diesen Code zu svn Protokolleinträge abrufen:

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

Das funktioniert gut, aber jetzt möchte ich die zurückgegebenen Protokolleinträge nach Änderungsdatum beschränken. Dies ist etwas, das über das SVN Kommandozeile mit so etwas wie

getan werden kann,
svn log "http://myserver/svn/foo/bar.txt" --revision {2008-01-01}:{2008-12-31}

Ich kann nicht eine parallele Fähigkeit innerhalb SharpSvn scheinen, um herauszufinden. Kann jemand mich in die richtige Richtung?

War es hilfreich?

Lösung

Sie können es so versuchen:

DateTime startDateTime = // ...;
DateTime endDateTime = // ...;
SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(startDateTime), new SvnRevision(endDateTime));
client.GetLog(uri, new SvnLogArgs(range), out logitems);

Andere Tipps

I denkt Sie könnten in der Lage sein, es zu tun, eine der GetLog-Funktion, die einen SharpSvn.SvnLogArgs Parameter annimmt.

public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs args,
        out System.Collections.ObjectModel.Collection logItems)

Diese Klasse Start / End hat die SharpSvn.SvnRevision Objekte sind, die aussehen , wie sie einen Parameter "Zeit" erfolgen kann.

Ich habe nur ein wenig mit ihm getan, aber das wäre, wenn Sie auf der Suche beginnen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top