如何获取SharpSVN中已更改文件的列表(如svn diff --summarize --xml)

Pet*_*ron 5 c# svn sharpsvn

我正在尝试从SharpSVN获取已更改文件的列表.我可以在命令行上获取我需要的数据,如下所示:

svn diff -r <startrev>:HEAD --summarize --xml
Run Code Online (Sandbox Code Playgroud)

有人能指出我在SharpSVN迷宫中的正确位置来复制这个吗?理想情况下,我可以获取已更改文件的集合,但如果需要,我可以解析流.

小智 2

有最简单的方法可以做到这一点,但这里有一些不同的方法:

使用 Sharpsvn 使用Status命令检索workingCopy 和 Repository Status 中的所有文件状态,然后在它们之间进行比较

例子 :

using (SvnClient cl = new SvnClient())
  cl.Status(YourPath, new SvnStatusArgs {
    Depth = SvnDepth.Infinity, ThrowOnError = true,
    RetrieveRemoteStatus = true, Revision = SvnRevision.Head}, 
    new EventHandler<SvnStatusEventArgs>(
       delegate(object s, SvnStatusEventArgs e) {
          switch (e.LocalContentStatus) {
             case SvnStatus.Normal:break;
             case SvnStatus.None: break;
             case SvnStatus.NotVersioned: break;
             case SvnStatus.Added:break;
             case SvnStatus.Missing: break;
             case SvnStatus.Modified: break;
             case SvnStatus.Conflicted: break;
             default: break;
          }
          switch (e.RemoteContentStatus) {
             case SvnStatus.Normal:break;
             case SvnStatus.None: break;
             case SvnStatus.NotVersioned: break;
             case SvnStatus.Added:break;
             case SvnStatus.Missing: break;
             case SvnStatus.Modified: break;
             case SvnStatus.Conflicted: break;
             default: break;
          }
       }));
Run Code Online (Sandbox Code Playgroud)