我一直在进行更改,包括移动方法,提取新方法,以及少量更改功能(不是同时进行,但在同一修订版内 - 可能这是一个错误的决定)。
传统的差异似乎会生成差异,报告在第42行删除了方法doFoo,并且在第2012行创建了一个几乎相同的方法,也称为doFoo。是否很容易要求差异化程序比较删除的doFoo在第42行与2012年创建的doFoo? (最好是在Ubuntu上免费提供的差异程序)
答案 0 :(得分:1)
Ediff,emacs附带的差异工具,可以帮助您检查这些区域。
你可能会遇到一种情况 一个文件中的大块文本有 已编辑,然后移动到 另一个文件中的不同位置。在 这样的情况下,这两个文本块 不太可能属于同一个 差异区域,所以细化 Ediff的特色将无法实现 告诉你里面究竟有什么不同 这些块。由于眼球大 文字是与人类相悖的 大自然,埃迪夫有一个特殊的命令 有助于降低发展的风险 白内障。
答案 1 :(得分:1)
有关了解语言语法和抽象编辑命令的工具,请参阅SmartDifferencer,例如“将此代码块从A行移至B行”,“在范围内的任何位置重命名此变量”。目前可用于Java和COBOL,其他语言在Real Soon之后。
编辑9/4/2009:C#已添加......
EDIT 5/2011:添加了许多语言:C ++,JavaScript,更多...检查网站。
答案 2 :(得分:-2)
http://www.research.ibm.com/visual/projects/history_flow/gallery.htm
我自己从未使用它,但图像看起来很酷:P