【问题标题】:How do I find and view a TFS changeset by comment text?如何通过注释文本查找和查看 TFS 变更集?
【发布时间】:2010-10-29 21:06:10
【问题描述】:

使用 TFS,我需要通过评论和/或开发人员找到变更集。也许我今天只是瞎了眼,但我在源代码管理资源管理器中没有看到执行此任务的简单方法?

【问题讨论】:

  • 现在在 VSTS / 最新 TFS 中,您现在可以在提交历史记录中按作者过滤提交,但似乎您仍然无法过滤/搜索提交 cmets ...我实际上不明白这是怎么做到的不建议,我在 uservoice 上创建了一个请求:visualstudio.uservoice.com/forums/…

标签: tfs tfvc


【解决方案1】:

如果你安装了 TFS Power Tools,你可以在命令提示符下运行它:

tfpt searchcs

获得一个 GUI 窗口,其中包含按提交者和评论文本进行搜索的选项。我正在使用TFS Power Tools (March 2011 version) 和 TFS 2010。

【讨论】:

  • 这对我有用,但对设置有一些影响。 Server name: 我的服务器 URL 格式是 tfs01:8080/tfs,我在 VS2010 中找到的,团队菜单,连接到 Team Foundation Server,服务器...按钮,并且有现有的服务器。 Under server path: 我注意到它确实在寻找本地地图路径,所以它是 C:\tfs\myfolders\etc,而不是从服务器的角度来看的 url 路径。
  • Stackoverflow 将我上面关于我的 URL 格式的评论转换为链接。真的是http://tfs01:8080/tfs
  • 使用 VS2010 为我工作,即使 TFS 是 2008。TFPT2010 最新版本,2011 年 8 月
  • 在 Visual Studio 2012 和 TFS 2012 中也可以使用。
  • 这对我有用 cmd.exe 但不适用于 VS 命令窗口。
【解决方案2】:

EASY WAY,无需第三方应用/插件:

  1. 开源控制资源管理器
  2. TFS 服务器根目录下的“查看历史记录”
  3. 滚动到底部(连续点击“结束”按钮很快)
  4. 选择所有记录,复制
  5. 打开 Excel 并粘贴

现在 Excel 将允许您通过 cmets 进行搜索(Excel 是本机应用程序,不要争论..)。

【讨论】:

  • 我认为您不会使用此方法在整个提交消息中搜索更长的提交消息(请注意粘贴时出现的省略号),如果您确定您这样做会很有用'正在寻找第一线概要中的东西,但否则很危险。
  • 这么简单零配置的方式
  • 我承认,起初我在第一次阅读这篇文章时感到畏缩,但后来我说用第三方工具见鬼去吧,这个想法很好用。谢谢!
  • 当您有超过 100.000 个变更集时,这不是解决方案
  • 很遗憾我不得不这样做。 ;)
【解决方案3】:

安装电动工具后:

tf history $/ -r | ? { $_.comment -like '*findme*' }

【讨论】:

  • 请原谅我的无知,但是“?”是什么?将 tfhistory 的结果传送到其中的命令?
  • 这是 Where-Object 的标准别名。有关完整的详细信息,请参阅“help where -full”。
  • 这不能直接在cmd.exe 提示符下工作,但它可以在 PowerShell 控制台中工作(对 -like 参数的格式进行一些调整)。
【解决方案4】:

【讨论】:

  • 很遗憾它不适用于 VS 2012 和 VS 2013
  • 如果你去项目的CodePlex站点,你会发现一个VS2012版本(我没有测试过)。 findchangeset.codeplex.com
  • 但老实说,使用tfpt searchcs 更容易。
  • 啊哈,是的。我以前用过,但不记得我是怎么开始的,哈哈。您只需启动Visual Studio Command Prompt 并执行上面提到的命令@Maarten。当然,您会先安装 Power Tools!
【解决方案5】:

或者,无需安装电动工具,如果您正在寻找搜索词 findme,以下命令将起作用。

Windows:tf history "$/Team Project/Development" /noprompt /recursive | findstr findme

Linux:tf history "$/Team Project/Development" /recursive | grep findme

注意。如果你觉得这很有用,请感谢 this 家伙。

【讨论】:

  • 如果要搜索整条消息,请添加“/format:detailed”。如果这需要太长时间,请设置日期范围(例如“/v:D1/1/2012~D12/31/2012”)以减少搜索空间。
【解决方案6】:

您可以使用命令行客户端:将tf history 的输出通过管道传输到一个文件,然后使用您喜欢的任何搜索程序。

【讨论】:

  • 示例:tf 历史 $/ /r /user:username /format:detailed > d:\changeset_details.txt
【解决方案7】:

我不知道如何通过评论文本来做到这一点,但这将允许开发人员进行搜索:

如果您打开菜单项 File->Source Control->Find In Source Control->Changesets...(您必须在 Source Control Explorer 中才能使用)。这将打开“查找变更集”对话框。然后,您可以在给定的源文件夹(或项目)上搜索开发人员的变更集。

这将向您显示 cmets,但您无法通过它们进行搜索。 (尽管您可以按 cmets 对列表进行排序,然后以这种方式找到您要查找的评论。)

附带说明,如果您想通过此对话框查看变更集的详细信息,您必须单击“详细信息”按钮。双击变更集关闭对话框。

【讨论】:

  • @Downvoter - 为什么投反对票? OP 说“和/或开发人员”。这是一个“或开发者的答案”。
【解决方案8】:

【讨论】:

  • 这就是我要说的。谢谢=)
【解决方案9】:

查看团队成员的签到:

在团队资源管理器中,导航到团队项目,导航到团队成员,右键单击要查看变更集的团队成员,然后选择“显示签入历史记录”。

【讨论】:

    【解决方案10】:

    我将 TFS Power Tools 中的 tfpt searchcs 添加为 VisualStudio 中的外部工具:

    • 命令:C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\TFPT.EXE (或安装 TFS 电动工具的任何位置)
    • 参数:searchcs /collection:http://tfsserver:8080/tfs $(SolutionDir) (解决方案路径转换为服务器路径)
    • 初始目录:c:\path\to\your\vs\IDE(除非 tf.exe 在您的路径中(默认情况下不是这种情况),这确保您可以从搜索对话框中查看变更集详细信息,因为它运行 tf.exe)李>

    【讨论】:

      【解决方案11】:

      我能够在 TFS 门户网站代码部分执行此操作。

      在浏览器中导航到 TFS,转到代码,单击变更集,然后单击高级搜索。您可以按用户和日期范围进行过滤。您不能通过评论进行搜索,但如果您有一个大致的日期范围,那么您可以将其过滤掉,然后使用浏览器搜索 (ctrl + f)。

      【讨论】:

      • 这比复制到 Excel 要容易得多。迄今为止最好的答案,恕我直言。您甚至不需要输入日期范围;只需单击查找,您将获得所有变更集;与 cmets。
      • 我没有高级搜索:/
      • 它必须自 2015 年以来已移动或更改。
      猜你喜欢
      • 2011-03-09
      • 2011-09-02
      • 2014-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-25
      • 1970-01-01
      • 2020-09-27
      相关资源
      最近更新 更多