【发布时间】:2012-02-18 22:22:45
【问题描述】:
我正在使用 kdiff3,但我最近遇到了这样一个问题,即重新组织具有共同功能的方法(我所有的集合、我所有的帖子、验证等)最终会混淆它到我用记事本手工做所有事情。免费或付费并不重要。
【问题讨论】:
标签: version-control merge diff
我正在使用 kdiff3,但我最近遇到了这样一个问题,即重新组织具有共同功能的方法(我所有的集合、我所有的帖子、验证等)最终会混淆它到我用记事本手工做所有事情。免费或付费并不重要。
【问题讨论】:
标签: version-control merge diff
我们的Smart Differencer 工具根据代码结构而不是行来比较代码。他们使用真正的语言解析器来提取结构,因此它们独立于格式、cmets、不同格式但相同的文字等。更改以概念编辑的形式报告(移动、复制、删除、重命名标识符-in-块)在语言元素(文字、变量、表达式、语句、块、函数...)上。提供多种语言版本。
如果您将完整的方法移动到某处,它会告诉您移动了该方法,而不是您在此处删除了 27 行,并在此处插入了 27 行(可能相同也可能不同)。
它不太明白有时甚至声明的顺序也不重要。在我们的待办事项列表中。
它目前也没有集成到合并工具中;只是做差异。也在我们的待办事项列表中。
【讨论】:
暂时没有。我听说开始计划新的 diff,它是由逻辑块而不是字符串操作的,但它是在谣言的层面上
在当前状态下,我只能看到一种选择作为最佳方法(而且它是仅限 Windows 的解决方案):CompareIt! 作为 diif-tools - 它可以检测(在某种程度上)并在文件中显示“移动块”和最小心处理“删除块”+“在旧字符串中添加新块”的情况,其中 all other 尝试过 (KDiff, BC, Araxis Merge, P4merge, Diffuse Merge, SourceGear Diffmerge) 不同的是将此块显示为“积极编辑”。
【讨论】: