我正在使用kdiff3,但是我最近遇到的问题是重新组织我的方法,这些方法具有共同的功能(我所有的聚集在一起,我的所有帖子在一起,验证等)最终会让它混淆到我用记事本手工做所有事情。免费或付费并不重要。
答案 0 :(得分:1)
我们的Smart Differencer工具根据代码结构比较代码,而不是行。他们使用真正的语言解析器来获取结构,因此它们独立于格式,注释,不同格式但相同的文字等。根据概念编辑(移动,复制,删除,重命名 - 标识符 - in-来报告更改块)语言元素(文字,变量,表达式,语句,块,函数......)。适用于许多语言的版本。
如果你在某处移动一个完整的方法,它会告诉你你移动了方法,而不是你在这里删除了27行,并在那里插入了27行(可能相同或不同)。
有时甚至声明的顺序并不重要。在我们的待办事项列表中。
目前它还没有整合到合并工具中;只做差异。也在我们的待办事项列表中。
答案 1 :(得分:0)
现在不行。我听说开始计划新的差异,它由逻辑块而不是字符串操作,但它是在谣言的水平
在当前状态下,我只能看到一种选择作为最佳方法(并且它只是Windows解决方案):CompareIt!作为diif-tools - 它可以检测(在某种程度上)并在内部显示“移动的块”文件并且最谨慎处理“删除块”+“在旧字符串中添加新块”的情况,其中所有其他 尝试(KDiff,BC,Araxis Merge,P4merge ,Diffuse Merge,SourceGear Diffmerge)不同,将此块显示为“激进编辑”。