0

我正在尝试使用 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 日志消息

使用Start = 80091也无济于事..

4

1 回答 1

1

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

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

Subversion 本身只将此 api 用于 'svn blame' (/praise/annotate),所以我认为 SvnBridge 开发人员并没有足够关心来解决这个问题。

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

于 2012-07-30T12:54:41.747 回答