Question

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 commit)

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.

Was it helpful?

Solution

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

OTHER TIPS

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);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top