[英]Version Control with XML diff and merge
我正在尋找一個可以衍生和合並XML文件的開源版本控制工具。
我必須找到這樣一個工具的難點是,我需要正確合並XML文件,比較節點而不是行。
任何的想法? 謝謝!
不幸的是,這個問題沒有一個通用的解決方案。 XML diffing對你認為不同的東西非常敏感。 在一種情況下,子節點的順序可能很重要,而在另一種情況下(甚至可能在同一文件中)它可能是無關緊要的。
看看XMLUnit 。 盡管它的目標是單元測試,但它是一個完整的XML差分引擎。 您必須告訴它(在代碼中)如何確定兩個節點是否有資格進行比較,然后如何處理找到的所有潛在差異(即,在您的應用程序中它們是否真實)。 它檢測到“差異事件”的詳盡列表,包括
還有更多。 這些中的任何一個對您的應用程序都很重要或不重要,只有您可以自行決定。 值得一看,但需要一些工作來獲得你想要的東西。
項目:Merge旨在解決這個問題:通過SCM軟件比較和合並XML文件。
我擔心它也不是免費的,但它比聲稱能夠比較和合並XML的其他工具便宜得多。
我過去使用過的東西是diffxml 。 您可以將此作為svn或git等VCS的diff命令使用。
你正在尋找一個diff-tool,它只是VCS的一個子集。 所有VCS都可以使用外部程序來區分文件。 由於外部diff-tool可以是任何東西,它也可以是你編寫的腳本,它是為解析和比較兩個xml文檔而定制的。
我不知道這是否會讓你更容易找到你想要的東西,但它可能會。
正如其他人指出你只需要一個好的差異工具而不是vcs。
不幸的是,我還沒有聽說任何支持xml的圖形差異工具。 所以我會使用像(winmerge或k3diff)這樣的常規diff工具,然后我會使用您喜歡的任何xml驗證工具驗證合並產生的xml。
對於虛擬/懶惰用戶來說,它應該是一個簡單的一體化工具。 API或控制台程序不適合。 看起來它確實在開源世界中不存在。
Clearcase可以做到,但它很昂貴。 氧氣可以合並,但也不是免費的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.