【问题标题】:Any diff/merge tool that provides a report (metrics) of conflicts?任何提供冲突报告(指标)的差异/合并工具?
【发布时间】:2010-05-25 16:08:59
【问题描述】:

上下文:我正在准备使用 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. 有没有 提供这种类型的工具 指标(现在我正在尝试 Beyond Compare)

【问题讨论】:

    标签: visual-studio merge diff beyondcompare


    【解决方案1】:

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

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

    以这种方式报告的差异往往比面向行的差异小得多,因此占用的注意力更少。

    【讨论】:

    • 感谢您提供的信息。 Smart Differencer 可能很有趣。但我需要的是未来合并的指标以抓住它。在这个阶段,合并是智能的还是逐行的并不重要。
    • 嗯。好吧,大多数差异工具(包括 SmartDifferencer)都会生成一个输出,告诉您差异在哪里,您可以只计算每个工具报告的差异数量。你需要像 AWK 或 PERL 这样的东西来做这个计数,因为输出并不总是“整洁”的,但它在任何意义上都不应该是困难的。如果您要计算报告的差异,那么如何完成差异会给您带来相当不同的计数,从而产生不同的大小。
    • 我尝试了一些差异工具。 BEYONDCOMPARE 确实在将一个文件与另一个文件进行比较时给了我差异的数量,但在将文件夹与文件夹进行比较时不要给我。 (或者我无法获得此信息)。 KDIFF3 确实给了我列表,但几乎不可能导出它(明天我要将报告打印为 pdf,复制并粘贴到 Excel 表并总结)也许我需要调查并从命令行调用这些工具.. . 我希望有任何工具可以选择比较两个文件夹并轻松生成发现的冲突报告。
    • “计算结果”和 GUI 几乎不会一起发生。命令行方法(跨目录递归、运行 diff 工具、收集每个文件的数据、汇总)可能是您最好的选择,而且真的不应该做太多工作。
    【解决方案2】:

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

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

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

    没试过命令行方法

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

    【讨论】:

      猜你喜欢
      • 2013-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多