如何在SharpSvn中检查文件是否受源代码控制?

时间:2009-05-15 13:33:38

标签: c# svn sharpsvn

您好我使用C#和SharpSvn库。我想在使用SvnClient.Add添加文件之前检查文件是否处于源代码管理之下。当我在已经在SVN下的文件上执行它而不是我得到错误:“已经在版本控制下”。

2 个答案:

答案 0 :(得分:10)

这很好地演示了如何使用状态

来完成它
using(SvnClient client = new SvnClient())
{
    SvnStatusArgs sa = new SvnStatusArgs();
    sa.Depth = SvnDepth.Empty; // Adjust this to check direct files, or (recursive) directories etc

    Collection<SvnStatusEventArgs> statuses;
    client.GetStatus("c:\\somefile.txt", sa, out statuses); 

    Assert.That(statuses.Count, Is.EqualTo(1));
    Assert.That(SvnStatus.NotVersioned, Is.EqualTo(statuses[0].LocalContentStatus));
}

答案 1 :(得分:6)

如果您只想知道文件是否受源代码管理,可以使用.Info() / .GetInfo()。该方法通常更快,因为它不必检查文件自签出后是否已更改。