如何从SharpSVN获取未提交的文件列表

时间:2010-12-21 17:38:18

标签: c# sharpsvn

使用SharpSvn,如何获取需要提交的文件列表(如果右键单击带有tortoisesvn的文件夹并点击提交,则会看到该列表)

我试过了:

        SharpSvn.SvnClient client = new SharpSvn.SvnClient();
        Collection<SvnListChangeListEventArgs> list;
        bool result = client.GetChangeList(@"C:\MyProjectPath", out list);

但它似乎返回了项目中每个文件的列表,而不仅仅是修改过的文件。

2 个答案:

答案 0 :(得分:2)

Sander是正确的,这是列出修改过的文件的更完整示例:

var statusArgs = new SvnStatusArgs();
statusArgs.Depth = SvnDepth.Infinity;
statusArgs.RetrieveAllEntries = true;
Collection<SvnStatusEventArgs> statuses;
svnClient.GetStatus(@"C:\SVN\stuff\", statusArgs, out statuses);
foreach (SvnStatusEventArgs statusEventArgs in statuses)
{
   if (statusEventArgs.LocalContentStatus == SvnStatus.Modified)
      Console.WriteLine("Modified file: " + statusEventArgs.Path);
}

答案 1 :(得分:0)

您正在使用的功能是changelist feature。要查看更改了哪些文件,请使用GetStatus or Status来电。在这种情况下,您需要检查LocalContentStatusLocalPropertyStatus