Usando SharpSvn para recuperar entradas de log dentro de um intervalo de datas

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

  •  13-09-2019
  •  | 
  •  

Pergunta

Eu estou usando SharpSvn para interagir com meu svn repositório via código C #. Eu estou usando este código para recuperar entradas de log 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;
}

Isso funciona bem, mas agora eu quero para restringir as entradas de log retornado por data de revisão. Isso é algo que pode ser feito via linha de comando svn com algo como

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

Eu não consigo descobrir uma capacidade paralelo dentro SharpSvn. Alguém pode me apontar na direção certa?

Foi útil?

Solução

Você pode experimentá-lo como este:

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

Outras dicas

I pensar que você pode ser capaz de fazê-lo usando uma das funções GetLog que leva um parâmetro SharpSvn.SvnLogArgs.

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

Essa classe tem Start / End que são objetos SharpSvn.SvnRevision que olhar como eles podem ter um parâmetro de "tempo".

Eu tenho feito apenas um pouco com ele, mas isso seria o lugar onde você pode começar a procurar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top