Using SharpSvn, how can I get a list of files that need to be committed (the list that you would see if you right click on a folder with tortoisesvn and hit comm开发者_JAVA百科it)
I tried this:
SharpSvn.SvnClient client = new SharpSvn.SvnClient();
Collection<SvnListChangeListEventArgs> list;
bool result = client.GetChangeList(@"C:\MyProjectPath", out list);
But it seems to be returning a list of every file in the project instead of just the modified ones.
Sander is correct, here is a more complete example of listing modified files:
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);
}
The function you're using is for the changelist feature. To see what files are changed use the GetStatus
or Status
calls. In this case you want to check the LocalContentStatus
and LocalPropertyStatus
精彩评论