2

上下文:我正在准备使用 Visual Studio 2008 和 TFS 进行大型 C# 合并。我需要为每个文件创建一个包含文件和冲突数量(总更改和冲突)的报告(当然还有总的)

问题:我不能这样做有两个原因(第一个已解决):

1-使用 TFS 合并我可以访问文件比较,但我无法导出冲突文件列表......我只能尝试解决冲突。 (我已经使用超越比较解决了问题 1。它允许我导出文件列表)

2- 使用 TFS 合并我只能手动访问每个文件以获取冲突数量......但我有 800 多个文件(并且可能不得不在不久的将来重复它,所以不是手动执行的选项)

有几十种文件比较工具(http://en.wikipedia.org/wiki/Comparison_of_file_comparison_tools),但我不确定哪一个可以(如果有的话)给我这些指标。我还在这里阅读了几个论坛和问题,但更多的是一般性问题(哪个 diff 工具更好),我正在寻找一份非常具体的报告。

所以我的问题是:

  1. Visual Studio 2010(仍然使用 TFS2008)是否能够进行此类报告/导出?
  2. 有没有提供这种指标的工具(现在我正在尝试超越比较)
4

2 回答 2

1

如果您要合并大量文件,您希望将报告的差异最小化到最低限度。如果代码被重新格式化,或者一行中有任何变化,面向行的差异工具会报告变化。

SD C# Smart Differencer报告基于源代码语法的差异,而不是文本的物理布局。从程序员的角度来看,它根据效果(插入、删除、复制、移动、重命名)报告基于语言元素(标识符、表达式、语句、块、方法...)的更改。(重命名检测意味着它将忽略在块/文件中一致更改的名称)。

以这种方式报告往往会产生比面向行的差异小得多的差异,从而减少您的注意力。

于 2010-05-25T23:46:05.587 回答
1

经过几天的调查,回答我的问题:

1- Visual Studio 2008 & TFS 2008 无法导出任何信息。

2- 在尝试了几个工具之后: BeyondCompare 3允许从 IU 获取指标并轻松导出它们。(使用文件比较报告/XML 转储过滤文件而不是使用文件夹比较报告。) KDiff3允许使用 IU 获取一些指标,但无法导出它们。

没试过命令行方法

注意:请注意,不同的工具有不同的冲突解决方案,因此指标不会 100% 准确。例如,在 TFS 中有 20 个更改和 3 个冲突的文件被报告为 20 个更改 8 个冲突,使用超越比较。

于 2010-06-04T09:17:23.210 回答