Использование SharpSvn для получения записей журнала в пределах диапазона дат

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

  •  13-09-2019
  •  | 
  •  

Вопрос

я использую ШарпСвн для взаимодействия с моим репозиторием svn через код C#.Я использую этот код для получения записей журнала 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;
}

Это работает хорошо, но теперь я хочу ограничить возвращаемые записи журнала датой редакции.Это можно сделать через командную строку svn, используя что-то вроде

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

Кажется, я не могу найти параллельную возможность в SharpSvn.Может ли кто-нибудь указать мне в правильном направлении?

Это было полезно?

Решение

Вы можете попробовать это так:

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

Другие советы

я думать возможно, вы сможете сделать это, используя один из GetLog функция, которая принимает SharpSvn.SvnLogArgs параметр.

public bool GetLog(System.Uri target, SharpSvn.SvnLogArgs аргументы,
        out System.Collections.ObjectModel.Collection logItems)

Этот класс имеет Start/End которые SharpSvn.SvnRevision объекты, которые смотреть как будто они могут принимать параметр «время».

Я поработал с этим лишь немного, но именно с этого вы могли бы начать поиски.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top