12

嗨,我使用 C# 和 SharpSvn 库。我想在使用 SvnClient.Add 添加文件之前检查文件是否受源代码控制。当我在已经在 SVN 下的文件上执行此操作时,我得到错误:“已经在版本控制之下”。

4

2 回答 2

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));
}
于 2009-05-19T21:22:33.773 回答
6

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

于 2009-08-09T21:35:28.257 回答