我使用SharpSVN编写了一个简单的C#应用程序,以在尝试添加文件之前查询其状态。我在各个地方看到了很多针对此目的的示例,它们涉及调用SvnClient的GetStatus方法,传入完整路径和一个SvnStatusEventArgs集合的输出参数。
我的理解是,对于一个文件,GetStatus应该返回一个SvnStatusEventArgs集合,其中计数为一,状态包括NotVersioned、Missing、Normal等。
在我的应用程序中,我调用GetStatus来查询源代码控制下的文件,但返回的集合计数为零。
statuses.Count的值为零,而我期望它是1,statuses[0].LocalContentStatus的值为Normal。这个期望是否不正确?对于引用未在源代码控制中的文件的路径调用,使用status [0] .LocalContentStatus值为NotVersioned的状态可以正常工作。
已验证该路径为工作副本,并且确实在Subversion中注册了Program.cs文件。我正在运行SharpSVN版本1.7005.2163.13448和VS2010。
非常感谢您提前澄清我的明显困惑。
编辑:更多信息:修改但未提交Program.cs后,此相同的代码片段现在返回一个具有“Modified” LocalContentStatus的状态值。提交文件后,原始行为(未返回状态值)返回。
我的理解是,对于一个文件,GetStatus应该返回一个SvnStatusEventArgs集合,其中计数为一,状态包括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。这个期望是否不正确?对于引用未在源代码控制中的文件的路径调用,使用status [0] .LocalContentStatus值为NotVersioned的状态可以正常工作。
已验证该路径为工作副本,并且确实在Subversion中注册了Program.cs文件。我正在运行SharpSVN版本1.7005.2163.13448和VS2010。
非常感谢您提前澄清我的明显困惑。
编辑:更多信息:修改但未提交Program.cs后,此相同的代码片段现在返回一个具有“Modified” LocalContentStatus的状态值。提交文件后,原始行为(未返回状态值)返回。