【问题标题】:How to get the full folder history from TFS programmatically?如何以编程方式从 TFS 获取完整的文件夹历史记录?
【发布时间】:2009-06-22 21:54:43
【问题描述】:

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

它最近刚从另一个位置移动,即“$/My Project/Dev”。

现在,当我从 VS 中的源代码管理资源管理器请求它的历史记录时,我得到了完整的历史记录,其中所描述的移动操作只是变更集之一。

但是当我尝试使用 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);

【问题讨论】:

    标签: c# tfs


    【解决方案1】:

    您正在传递 slotMode = true。把最后一个参数改成false。

    “插槽模式”的意思是“按路径查询,而不是按历史查询”。如果您只记得一个项目的旧名称而不记得您将其移动到的位置,或者如果 >1 个项目占用了给定的路径,这将很有用。

    为了将来参考,如果您想查看 VS(或 tf.exe)将哪些参数传递给服务器以便您可以模仿它们,turn on tracing

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2013-06-26
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 2011-03-20
      相关资源
      最近更新 更多