2012-07-25 79 views
0

我试图用SharpSvn来读取文件的两个版本的内容。当我运行下面的代码fileVersions集合只包含了一个项目..SharpSvn GetFileVersions版本范围,只返回一个文件版本

var svnClient = new SvnClient(); 
var revisionInfo = new SvnFileVersionsArgs 
    { 
     Start = 80092, 
     End = 80093 
    }; 

Collection<SvnFileVersionEventArgs> fileVersions; 
svnClient.GetFileVersions(
    new SvnUriTarget("https://DbDiff.svn.codeplex.com/svn/DbDiffCommon/DataAccess/SqlCommand11.xml"), 
    revisionInfo, 
    out fileVersions); 

但是我希望它包括两个项目。使用TortoiseSVN我可以看到,在该文件中修改改变,所以我希望,当我使用Start = 80092得到这个版本..

TortoiseSVN Log Messages

使用Start = 80091并没有帮助..

回答

1

问题不在您的代码中,而是在codeplex使用的SvnBridge软件中。 (他们将数据存储在TFS中,并通过网桥提供访问,而不是使用真正的Subversion后端)。

桥软件没有正确实现这个API。 (我几年前在它上面添加了一个问题,但据我所知它从未被修复过)。

Subversion本身只对'svn blame'(/ praise/annotate)使用这个api,所以我认为SvnBridge的开发者并不在意解决这个问题。

在AnkhSVN的我只是检测接收一个文件,然后使用SvnClient.Write的情况下()来获取文件慢的方式:(

+0

我也看到奇怪的事情像显示日志中的某个文件第一个条目为_Modified_ - 文件的第一个条目不应该是_Added _ ..?这种行为是否可以通过SvnBridge解释? – 2012-07-30 18:56:42