2010-08-05 8 views
10

मर्ज करें मैं एक ओपन सोर्स वर्जन कंट्रोल टूल ढूंढ रहा हूं जो एक्सएमएल फाइलों को अलग और विलय कर सकता है।एक्सएमएल diff के साथ संस्करण नियंत्रण और

मुझे ऐसा टूल ढूंढने में कठिनाई है, मुझे नोड्स की तुलना में एक XML फ़ाइल का सही विलय चाहिए, न कि लाइनें।

कोई विचार? धन्यवाद!

+0

संभावित समाधान: [फ्री एक्सएमएल डिफ/मर्ज टूल्स] (http://stackoverflow.com/questions/1871076), [एक्सएमएल डिफ और मर्ज] (http://stackoverflow.com/questions/430001) –

उत्तर

2

कुछ मैंने अतीत में उपयोग किया है diffxml है। आप इसे एसवीएन या गिट जैसे वीसीएस के लिए अपने diff कमांड के रूप में उपयोग करने में सक्षम हो सकते हैं।

6

दुर्भाग्य से, इस समस्या के लिए कोई भी आकार-फिट नहीं है। एक्सएमएल डिफिंग आप जो भी अलग मानते हैं उससे बहुत संवेदनशील है। एक मामले में बाल नोड्स का क्रम महत्वपूर्ण हो सकता है, और किसी अन्य मामले में (शायद एक ही फ़ाइल में) यह अप्रासंगिक हो सकता है।

XMLUnit पर एक नज़र डालें। हालांकि यह इकाई परीक्षण के उद्देश्य से है, यह एक पूर्ण एक्सएमएल differencing इंजन है। आपको इसे (कोड में) यह निर्धारित करना है कि दो नोड्स तुलना के लिए योग्य हैं, और फिर सभी संभावित मतभेदों के साथ क्या करना है (यानी वे वास्तविक हैं या नहीं, आपके आवेदन में)। यह "अंतर घटनाओं" सहित

  • गुण आदेश
  • विशेषताओं की संख्या
  • बाल नोड आदेश
  • बनाम स्पष्ट विशेषता निहित बच्चे नोड्स के
  • संख्या को महत्व देता
  • टिप्पणी की एक विस्तृत सूची का पता लगाता है मतभेद
  • डॉक्टरेट मतभेद
  • नेमस्पेक ई मतभेद

और एक पूरा गुच्छा अधिक। इनमें से कोई भी आपके आवेदन के लिए महत्वपूर्ण या महत्वहीन हो सकता है, और केवल आप ही निर्णय ले सकते हैं। यह एक लायक है, लेकिन आप जो चाहते हैं उसे पाने के लिए कुछ काम करेंगे।

1

आप एक diff-tool की तलाश में हैं, जो केवल वीसीएस के एक सबसेट है। सभी वीसीएस 'फाइलों को अलग करने के लिए बाहरी कार्यक्रम का उपयोग कर सकते हैं। चूंकि बाहरी diff-tool कुछ भी हो सकता है, यह आपके द्वारा लिखी गई एक स्क्रिप्ट भी हो सकती है, जो पार्स के अनुरूप है और दो एक्सएमएल दस्तावेज़ों की तुलना करता है।

मुझे नहीं पता कि यह आपके लिए जो खोज रहा है उसे ढूंढना आपके लिए आसान बनाता है, लेकिन हो सकता है।

-2

जैसा कि अन्य ने बताया कि आपको केवल एक अच्छा diff टूल चाहिए, vcs नहीं।

दुर्भाग्य से मैंने किसी भी ग्राफिकल diff टूल के बारे में नहीं सुना है जो xml का समर्थन करता है। इसलिए मैं एक नियमित diff टूल (winmerge या k3diff) का उपयोग करता हूं और फिर मैं आपके द्वारा पसंद किए गए किसी भी XML सत्यापन उपकरण का उपयोग करके विलय से उत्पन्न XML को मान्य करता हूं।

-1

यह डमी/आलसी उपयोगकर्ताओं के लिए एक उपकरण में सरल होना चाहिए। एपीआई या कंसोल प्रोग्राम फिट नहीं है। यह वास्तव में ऐसा लगता है कि यह ओपन-सोर्स दुनिया में मौजूद नहीं है।

साफ़केस यह कर सकता है लेकिन यह महंगा है। Oxygen विलय कर सकता है लेकिन यह भी मुफ़्त नहीं है।तुलना और एससीएम सॉफ्टवेयर के माध्यम से एक्सएमएल फाइल विलय:

+1

आपको चाहिए शायद इसे एक प्रश्न अद्यतन खंड में बदल दें। यह एक जवाब नहीं है। – firegurafiku

+0

कंसोल प्रोग्राम तब तक सही है जब तक यह केवल एक कमांड लेता है – Mike76

2

Project: Merge इस सटीक समस्या को हल करने के लिए डिज़ाइन किया गया था।

मुझे डर है कि यह या तो मुक्त नहीं है, लेकिन यह काफी अन्य उपकरणों की तुलना और एक्सएमएल विलय करने के लिए सक्षम होने का दावा है कि की तुलना में सस्ता है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^