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

发布于 2024-07-20 13:04:34 字数 111 浏览 6 评论 0原文

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

Hi I use C# and SharpSvn library. I would like to check if file is under source control before adding it with SvnClient.Add. When I do it on file that already is under SVN than I get error : "is already under version control".

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

绅士风度i 2024-07-27 13:04:34

这很好地演示了如何使用状态来做到这一点

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));
}

This pretty well demonstrates how to do it using status

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));
}
匿名。 2024-07-27 13:04:34

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

If you only want to know if the file is under source control you could use .Info() / .GetInfo(). That method is generally faster as it doesn't have to check if the file has changed since it was checked out.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文