如何通过编程方式从TFS获取完整的文件夹历史记录?

Max*_*kin 7 c# tfs

我在TFS源代码控制系统下有一个文件夹,假设在"$/My Project/Branches/Dev"路径下.

它刚刚从另一个位置移动,即"$/My Project/Dev".

现在,当我从VS中的Source Control Explorer请求其历史记录时,我获得了完整的历史记录,其中描述的移动操作只是其中一个更改集.

但是当我尝试使用TFS SDK获取历史记录时,我只获得了文件夹移动时的最新历史记录.我怎样才能获得完整的历史记录?

我正在使用以下代码:

    TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(tfsServerURL);
    VersionControlServer vcs = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));

    // Null means All
    VersionSpec versionFrom = null;

    System.Collections.IEnumerable enumerable = vcs.QueryHistory(_tfsPath,
          VersionSpec.Latest,
          0,
          RecursionType.Full,
          "",
          versionFrom,
          VersionSpec.Latest,
          Int32.MaxValue,
          true,
          true);
Run Code Online (Sandbox Code Playgroud)

Ric*_*erg 14

您正在传递slotMode = true.将最终参数更改为false.

"插槽模式"表示"按路径查询,而不是按历史查询".如果您只记住项目的旧名称但不记住将其移动到的位置,或者> 1项目已占用给定路径,则此选项非常有用.

为了将来参考,如果您想查看VS(或tf.exe)传递给服务器的参数,以便您可以模仿它们,请启用跟踪.