SharpSvn GetFileVersions修订版范围,只返回一个文件版本

时间:2012-07-25 21:45:53

标签: c# svn sharpsvn

我正在尝试使用SharpSvn来读取文件的两个修订版的内容。当我运行以下代码时,fileVersions集合只包含一个项目..

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我可以看到文件在修订版 80088 时发生了变化,所以当我使用Start = 80092时,我希望得到这个版本..

TortoiseSVN Log Messages

使用Start = 80091也无济于事。

1 个答案:

答案 0 :(得分:1)

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

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

Subversion本身仅将此api用于'svn blame'(/赞/注释),所以我认为SvnBridge开发人员并不在意解决这个问题。

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