我一直在做一些改變,包括移動方法,提取新方法,以及少量改變功能(並非全部在同一時間,但在同一修訂版本中 - 也許這是一個糟糕的決定)。是否有可能在文件之間進行智能差異?
傳統差異似乎會生成差異,報告doFoo在第42行被刪除,並且在2012行創建了一個幾乎相同的方法,也稱爲doFoo。是否容易要求差異程序比較doFoo第42行刪除了2012年創建的doFoo? (最好在Ubuntu上免費提供的diff程序)
我一直在做一些改變,包括移動方法,提取新方法,以及少量改變功能(並非全部在同一時間,但在同一修訂版本中 - 也許這是一個糟糕的決定)。是否有可能在文件之間進行智能差異?
傳統差異似乎會生成差異,報告doFoo在第42行被刪除,並且在2012行創建了一個幾乎相同的方法,也稱爲doFoo。是否容易要求差異程序比較doFoo第42行刪除了2012年創建的doFoo? (最好在Ubuntu上免費提供的diff程序)
Ediff,emacs附帶的diff工具將幫助您檢查這些區域。
當在一個文件中的文本的 大塊已經 被編輯,然後轉移到另一個文件中的 不同的地方,你可能會遇到的情況。在 這種情況下,文本 這兩大塊都不可能屬於同一 不同的區域,所以Ediff的細化 功能將無法 告訴你裏面有什麼 這些塊準確的區別。由於眼球大 段文字與人類 性質相悖,因此Ediff有一個專門的命令來幫助減少發展爲 白內障的風險。
爲理解語言的語法和抽象編輯命令如「移動從線A到線B的代碼塊」,「在重命名範圍這個變量無處不在」的工具見SmartDifferencer。目前可用於Java和COBOL,以及Real Soon之後的其他語言。
編輯2009年9月4日:C#添加...
編輯5/2011:許多語言又說:C++,JavaScript的,更多...檢查站點。
http://www.research.ibm.com/visual/projects/history_flow/gallery.htm
從未使用過它自己,但圖像看起來很酷:P
此鏈接似乎無效。 – 2012-08-15 05:50:43
「您必須有權訪問IBM內部網絡才能看到此頁面」 – Splatmistro 2018-01-19 10:55:35