说我有这个已更改的源代码文件:
在:
public class MyClass {
public void bar() {
System.out.println("bar");
}
public void foo() {
System.out.println("foo");
}
}
后:
public class MyClass {
public void foo() {
System.out.println("foobar");
}
public void bar() {
System.out.println("bar");
}
}
大多数diff工具都会报告删除了旧方法foo,并添加了一个新方法foo,而实际上它只是被移动到另一个位置并进行了更新。是否有任何差异工具可以智能识别方法被移动并比较方法的不同部分,而不是报告已删除或添加整个代码段?