2012-02-05 35 views
5

因此,我想研究git適用於某些二進制或文本樹數據結構的版本跟蹤。事情是,我希望差異邏輯是完全自定義的,爲數據結構模式量身定製。使用git進行數據版本化:自定義比較特定文件

假設有問題的文件是一定的JSON對象,我希望有一個自定義的差異對JSON文件 所以,如果我有版本A作爲本:

{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': ready } } 

和我應用以下變化:

{ a: 'yes' , b: { 'X': 'unavailable' , 'Y': done } } 

所以我的差異很聰明,發現只有項目1已更改。使用默認的 差異,如果其他人對密鑰a,item [0]進行了更改,則會產生需要手動合併的衝突。自定義差異將針對 針對特定文件類型和內容自定義差異邏輯。

二進制文件略有不同也可能適用。

這個問題的目的是要看看是否有:

  • 方式在當前的git支持這種定製
  • 項目或混帳發展的分支機構以支持該定製
  • 一些其他工具更好旨在爲此

謝謝!

編輯我發現this article,我覺得給人的那種我想了解一下事情的非常範圍很廣。此外,這可能是一個跡象,迄今爲止還沒有解決這個問題的好辦法。

+0

遠不是一個完整的答案;但這裏有一些影響樹對象差異算法的問題(不是特定的git)http://useless-factor.blogspot.com/2008/01/matching-diffing-and-merging-xml.html – lurscher 2012-02-14 02:43:44

回答

2

您可以create custom diff view for binary files(「Diffing Binary Files」一節)像Word文檔一樣。但是這僅僅適用於查看的區別,不適用於合併

我不知道任何可以幫助你的東西。

+0

有趣的是,我上面寫的是基於合併依賴diff工具來完成工作的假設 – lurscher 2012-02-06 00:19:41

相關問題