En utilisant SharpSvn pour récupérer les entrées du journal dans une plage de dates

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

  •  13-09-2019
  •  | 
  •  

Question

J'utilise SharpSvn pour interagir avec mon dépôt svn via le code C #. J'utilise ce code pour récupérer les entrées svn du journal:

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

Cela fonctionne bien, mais maintenant je veux limiter les entrées du journal retournées par date de révision. C'est quelque chose qui peut être fait via la ligne de commande svn avec quelque chose comme

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

Je ne peux pas sembler trouver une capacité parallèle au sein SharpSvn. Quelqu'un peut-il me diriger dans la bonne direction?

Était-ce utile?

La solution

Vous pouvez l'essayer comme ceci:

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

Autres conseils

pense vous pourriez être en mesure de le faire en utilisant l'une des fonctions de GetLog qui prend un paramètre SharpSvn.SvnLogArgs.

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

Cette classe a Start / End qui sont des objets qui SharpSvn.SvnRevision regarder comme ils peuvent prendre un paramètre "temps".

Je ne l'ai fait un peu avec elle, mais ce serait où vous pouvez commencer à chercher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top