我想获取使用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
------------------------------------------------------------------------
感谢您的帮助,
答案 0 :(得分:0)
看看下面的代码。 SvnLogEventArgs 实例中的 ChangedPaths 集合将包含提交中更改的文件的详细信息。在下面的代码“ 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()
));
}