2011-06-02 77 views
5

我正在使用google-diff-match-patch與我的Java應用程序創建差異。我使用diff_prettyHtml方法來生成diff的HTML輸出。diff_match_patch:生成並排視圖

但是,我想要有兩個不同的輸出,所以我可以將它們並排放置,使用戶更容易看到差異。 (例如,像Eclipse一樣。)

我可以用它來實現這個庫中的任何東西嗎? 怎麼辦? (如果可能的話,我不會使用不同的庫)。

回答

1

假設你不是試圖區分HTML,在這種情況下,我建議使用DaisyDiff,你可能想用diff-match-patch做什麼是line differencing, which is described on a project wiki page。基本上,它涉及到生成一個哈希代碼數組,左右各一行,並跟蹤這些哈希碼相對於地圖中的行,然後通過差異算法運行這些數組。然後,您將diff輸出與地圖一起使用,以適當地重新水化左側和右側突出顯示。

+0

順便說一句,我寫了一個包裝庫來幫助使用'diff_match_patch'所需的「演示工作」:https://github.com/arnab/jQuery.PrettyTextDiff – arnab 2013-01-24 09:42:18