如何通过注释文本查找和查看TFS变更集?


130

使用TFS,我需要按注释和/或按开发人员查找变更集。也许我今天只是瞎子,但是在Source Control Explorer中看不到执行此任务的简单方法吗?


现在,在VSTS /最新的TFS中,您现在可以在提交历史记录中按作者过滤提交,但看来您仍然不能过滤/搜索提交注释...我实际上不明白如何提出该建议,我创建了一个请求对UserVoice的:visualstudio.uservoice.com/forums/...
SYL

Answers:


21

安装了电动工具后:

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

3
对不起,请问什么是“?” 将tfhistory的结果传递到哪个命令?
马尔罗斯,

3
这是Where-Object的标准别名。有关完整的详细信息,请参见“ help where -full”。
理查德·伯格

4
这不能在cmd.exe提示时直接起作用,但可以在PowerShell控制台中起作用(对-like参数的格式进行了一些调整)。
Emyr 2014年

166

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

tfpt searchcs

获取一个GUI窗口,其中包含按提交者和注释文本进行搜索的选项。我正在使用TFS Power Tools(2011年3月版)和TFS 2010。


4
这对我有用,但在设置上有一些麻烦。Server name: 我的服务器URL格式是tfs01:8080 / tfs,我在VS2010,团队菜单,连接到Team Foundation Server,服务器...按钮中找到,并且有现有服务器。Under server path:我注意到它实际上是在寻找本地映射路径,所以它是C:\ tfs \ myfolders \ etc,而不是服务器角度的url路径。
goodeye 2011年

1
Stackoverflow将我上面关于我的URL格式的注释转换为链接。的确是http://tfs01:8080/tfs
goodeye

即使TFS是2008,我还是为VS2010工作。TFPT2010最新版本,2011
Paul Kapustin

1
也可以在带有TFS 2012的Visual Studio 2012中使用。
jessegavin

2
这从cmd.exe对我有用,但对VS命令窗口不起作用。
rstackhouse

100

简易方式,无需第三方应用程序/附加组件:

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

现在,Excel将允许您搜索注释(Excel是本机应用程序,请不要争论..)。


14
我认为您不会使用此方法在整个提交消息中搜索更长的提交消息(请注意粘贴时出现的椭圆),如果您确定要在第一个中查找某些内容,这将非常有用。大纲,但危险。

1
这样简单且零配置的方式
Mostafa Armandi 2015年

5
我承认,起初我读过这篇文章的时候就感到有些畏缩,但是后来我说要使用第三方工具,这个想法很好用。谢谢!
克里斯·霍克斯

3
当变更集超过100.000时,这不是解决方案
Diogo Luis

3
可悲的是我必须这样做。;)
Kai Hartmann

20

现在有一个可以执行此操作的Visual Studio加载项:http : //visualstudiogallery.msdn.microsoft.com/3f65dee8-5a44-4771-929b-26531c482fbf


3
真遗憾,VS 2012和VS 2013无法使用
Andrija

2
如果转到项目的CodePlex站点,则会找到VS2012版本(我尚未测试)。findchangeset.codeplex.com
Maarten

2
但是说实话,使用起来tfpt searchcs更容易。
Maarten 2014年

啊哈 我以前用过它,但不记得我是如何开始的,大声笑。您只需启动Visual Studio Command Prompt并执行上述@Maarten命令。当然,您将首先安装Power Tools!
2014年

15

另外,如果您要查找搜索词findme,则无需安装电动工具,以下命令将起作用。

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

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

NB。请感谢这个家伙,如果你发现这个有用。


2
如果要搜索整个消息,请添加“ / format:detailed”。如果时间太长,请设置日期范围(例如“ / v:D1 / 1/2012〜D12 / 31/2012”)以减少搜索空间。

8

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


5
示例:tf历史记录$ / / r /用户:用户名/ format:detailed> d:\ changeset_details.txt
ray


2

我不知道通过注释文本执行此操作的方法,但这将允许开发人员进行搜索:

如果打开菜单项“文件”->“源代码控制”->“在源代码控制中->更改集...”(您必须在源代码管理资源管理器中,此功能才可用)。这将打开“查找变更集”对话框。然后,开发人员可以在给定的源文件夹(或项目)上搜索更改集。

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

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


1
@Downvoter-为什么要投票?OP说“和/或开发人员”。这是“或开发人员答案”。
瓦卡诺

2

要查看团队成员的签到:

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


2

tfpt searchcs从TFS电动工具添加为VisualStudio中的外部工具:

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

1

我可以在TFS网站门户代码部分中做到这一点。

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


这比复制到Excel容易得多。到目前为止最好的答案,恕我直言。您甚至不需要输入日期范围;只需单击查找,您将获得所有变更集;有评论。
保护者

1
没有对我的高级搜索:/
Twometer

它必须自2015
对齐
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.