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

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

这很好地演示了如何使用状态来完成它

using(SvnClient client = new SvnClient()) { SvnStatusArgs sa = new SvnStatusArgs(); sa.Depth = SvnDepth.Empty; // Adjust this to check direct files, or (recursive) directories etc Collection 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)); } 

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