gpt4 book ai didi

c# - SvnClient.GetStatus(path, args, statuses) 为版本化文件返回 0?

转载 作者:太空狗 更新时间:2023-10-29 23:09:37 25 4
gpt4 key购买 nike

我已经使用 SharpSVN 编写了一个简单的 C# 应用程序,以便在尝试添加之前查询文件的状态。为此,我在不同地方看到的示例涉及调用 SvnClient 的 GetStatus 方法,将完整路径和输出参数传递给 SvnStatusEventArgs 集合。

我的理解是,对于一个文件,GetStatus 应该返回一个 SvnStatusEventArgs 集合,该集合的计数恰好为 1,状态介于 NotVersioned、Missing、Normal 等之间。

在我的应用程序中,我对源代码管理下的文件调用 GetStatus 返回的集合计数为

        SvnClient foo = new SvnClient();
Collection<SvnStatusEventArgs> statuses;
foo.GetStatus("C:\\Temp\\svnu\\Program.cs", new SvnStatusArgs {Depth = SvnDepth.Empty}, out statuses);

statuses.Count 的值为零,而我期望状态为 1,statuses[0].LocalContentStatus 值为 Normal。这种期望不正确吗?对于引用源代码控制中 文件的路径的调用,该调用使用 NotVersioned 的 status[0].LocalContentStatus 值。

该路径被验证为工作副本,并且文件 Program.cs 实际上已登记在 Subversion 中。我正在运行 SharpSVN 版本 1.7005.2163.13448 和 VS2010。

非常感谢您消除了我明显的困惑。

编辑 一些更多信息:在修改但未提交 Program.cs 之后,同一代码片段现在返回 LocalContentStatus 为“已修改”的单个状态值。提交文件后,返回原始行为(无返回状态值)。

最佳答案

很抱歉根据 Bert Huijben 的反馈延迟发布答案。为了大家的利益,我在这里发布答案仅供引用。

修改原来的 GetStatus 调用以设置 SvnStatusArgs 对象的 RetrieveAllEntries 属性实际上解决了这个问题,并导致本地(但无趣 :) )文件副本具有返回状态根据需要,计数为 1,.LocalContentStatus 为“正常”。

foo.GetStatus("C:\\Temp\\svnu\\Program.cs", new SvnStatusArgs {Depth = SvnDepth.Empty,
RetrieveAllEntries = true}, out statuses);

非常感谢。

关于c# - SvnClient.GetStatus(path, args, statuses) 为版本化文件返回 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11130666/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com