使用SharpSvn,如何获取需要提交的文件列表(如果右键单击带有tortoisesvn的文件夹并点击提交,则会看到该列表)
我试过了:
SharpSvn.SvnClient client = new SharpSvn.SvnClient();
Collection<SvnListChangeListEventArgs> list;
bool result = client.GetChangeList(@"C:\MyProjectPath", out list);
但它似乎返回了项目中每个文件的列表,而不仅仅是修改过的文件。
答案 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
来电。在这种情况下,您需要检查LocalContentStatus
和LocalPropertyStatus