您好我使用C#和SharpSvn库。我想在使用SvnClient.Add添加文件之前检查文件是否处于源代码管理之下。当我在已经在SVN下的文件上执行它而不是我得到错误:“已经在版本控制下”。
答案 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()
。该方法通常更快,因为它不必检查文件自签出后是否已更改。