Utilizzando SharpSvn per recuperare le voci di registro all'interno di un intervallo di date

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

  •  13-09-2019
  •  | 
  •  

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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top