题
在 TFS 中,当您将分支 A 合并到分支 B 并签入时,您会在 B 上获得一个变更集(通常带有“合并 A->B”之类的注释)。
这意味着 B 没有 A 的任何签入历史记录。因此,如果有人在分支 A 上创建了一个新文件,您无法分辨是谁在分支 B 上创建了该文件。如果有人更新了 A 上的文件,您无法知道是谁从分支 B 进行了更新。
有什么方法可以跨分支查看这种详细的变更集历史记录吗?某种电动玩具,或者第三方工具,或者什么?
更新:TFS Power Toy tfpt History /followbranches 工具不会“扩展合并”,它只会“扩展分支”,因此无法解决此问题。
解决方案 2
其他提示
现在“tf merges”和“tf merges /f:detailed”提供了最完整的合并跟踪信息。但是,它们只是命令行。据我所知,唯一尝试提供 GUI 的第三方工具是 TFS 助手.
这在 TFS 2010 中变得更加容易。请参阅屏幕截图:
- http://blogs.msdn.com/mitrik/archive/2009/06/08/first-class-branches.aspx
- http://msdn.microsoft.com/en-us/library/dd405662(VS.100).aspx
- http://msdn.microsoft.com/en-us/library/dd465202(VS.100).aspx
- http://blogs.msdn.com/bharry/archive/2008/01/16/new-features-to-understand-branching-merging.aspx (旧原型,从那时起有所改变)
TFS 助手 是补充TFS默认工具的另一个好工具。
TFS 2008 动力玩具确实附带了 tf History /followbranches 命令。但该命令不会扩展合并。
它所做的只是向您显示创建分支 B 之前 A 的更改集历史记录。它没有向您显示创建分支后从 A -> B 合并了哪些更改集。
换句话说,我想看到的是在源分支上进行的所有更改集,然后作为合并操作的一部分应用于目标分支。
我认为您会发现 TFS Sidekicks 很有帮助,尤其是历史区域:
History Sidekick 应用程序窗格提供以下功能:
- 查看包含文件和文件夹的版本控制树(类似于源代码管理资源管理器)
- 按名称搜索项目(文件或文件夹)并在版本控制树中选择找到的项目
- 查看所有用户或按用户过滤的所选项目历史记录
- 将历史列表导出到 CSV 文件
- 比较历史中选择的文件版本
- 查看所选项目属性和挂起的更改
- 查看所选项目分支树和所选分支属性
- 查看所选项目合并历史记录;可以单独查看以所选项目作为合并目标(合并到)或以所选项目作为源(合并自)执行的所有合并
- 比较历史合并目标和源文件版本
- 在树视图中查看所选项目合并候选;可以从列表中选择单个合并源
- 将合并候选文件版本与目标文件的最新版本进行比较
- 查看所有用户或按用户过滤的选定项目标签;显示的信息包括标签中的项目版本
- 比较两个标签之间的文件版本
- 查看包含变更集的所有列表中支持的变更集详细信息
可能想尝试 TFS Follow 分支历史记录工具:
Microsoft Gallery 中存在“TFS Branched History”插件:
http://visualstudiogallery.msdn.microsoft.com/7d4f37b6-f9a4-44c6-b0a0-994956538a44
插件确实将“分支历史记录”按钮插入到源代码管理资源管理器(TFS)的上下文菜单中
按钮图标带有时钟,类似于标准“历史记录”,但带有蓝色箭头:
如果单击“分支历史记录”,将打开新窗口,并且 Path 属性将设置为当前源代码管理资源管理器路径:
单击“运行查询”以在“历史记录”选项卡中获取结果:
从上下文菜单中,您可以查询标准变更集详细信息和比较文件(文件夹)对话框。