用于代码块更改的统一差异

时间:2012-02-17 14:29:47

标签: diff

我有这样的旧程序代码:

X {
  Y {
    A;
    B {
      C;
    }
  }
  1;
}

和一个新版本,其中一个块改变如下:

X {
  Z {
    q {
      x;
    }
    y;
  }
  2;
}

现在当我统一差异时,我得到:

 X {
-  Y {
-    A;
-    B {
-      C;
+  Z {
+    q {
+      x;
     }
+    y;
   }
+  2;
 }

我不喜欢的是“Y”块完全变为“Z”但diff显示“}”为其他更改之间的未更改的行,并且它使得大块更改在整个删除和添加的块中不能很好地读取用“}”切片,而不是作为一个大块。

有没有办法让diff输出像这样?

 X {
-  Y {
-    A;
-    B {
-      C;
-    }
-  }
+  Z {
+    q {
+      x;
+    }
+    y;
+  }
+  2;
 }

0 个答案:

没有答案