【问题标题】:SharpSvn GetFileVersions revision range, only one file version returnedSharpSvn GetFileVersions 修订范围,只返回一个文件版本
【发布时间】:2012-09-27 13:22:27
【问题描述】:

我正在尝试使用 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..

时获得此版本

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

【问题讨论】:

    标签: c# svn sharpsvn


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 我还看到了一些奇怪的事情,例如特定文件的日志显示第一个条目为 Modified - 文件的第一个条目不应该是 Added ..? SvnBridge 可以解释这种行为吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-26
    • 1970-01-01
    • 1970-01-01
    • 2011-05-23
    • 2021-02-25
    相关资源
    最近更新 更多