Как получить список файлов по ревизии, используя SharpSVN - PullRequest
0 голосов
/ 02 октября 2018

Я хотел бы получить список файлов, которые были изменены, добавлены или удалены в определенной ревизии с помощью sharpsvn.Я могу получить эту информацию с помощью командной строки, например:

C:\svn>svn log --verbose -r 123
------------------------------------------------------------------------
r123 | rmercado | 2018-09-26 01:15:18 -0500 (wed., 26 Set. 2018) | 1 line
Changed paths:
   A /branches/folder/file1.txt
   A /branches/folder/file2.txt
   M /branches/folder/file3.txt
   D /branches/folder/file4.txt

changes made to branch
------------------------------------------------------------------------

Спасибо за вашу помощь,

1 Ответ

0 голосов
/ 01 декабря 2018

Посмотрите на приведенный ниже код. ChangedPaths Коллекция в экземпляре SvnLogEventArgs будет содержать сведения о файлах, измененных в коммите.В приведенном ниже коде «svnLog.ChangedPaths» содержит подробности.

Извлечение из одного из моих тестовых приложений.

            Collection<SvnLogEventArgs> SvnLogList = new Collection<SvnLogEventArgs>();
            SvnRevisionRange range = new SvnRevisionRange(new SvnRevision(this.dtpFromDate.Value), new SvnRevision(this.dtpToDate.Value));
            new SvnClient().GetLog(new Uri(this.txtRepoPath.Text.Trim()), new SvnLogArgs(range), out SvnLogList);

            foreach (SvnLogEventArgs svnLog in SvnLogList)
            {
                CommitLogList.Add(new CommitLog(
                    svnLog.Author,
                    svnLog.LogMessage,
                    svnLog.Revision,
                    svnLog.Time,
                    svnLog.ChangedPaths.Select(cp => cp.Path).ToList()
                    ));
            }
...