2011-05-23 6 views
19

मैं Mercurial के लिए नया हूँ, मैं TortoiseHG से काफी परिचित हूँ, लेकिन यह पहली बार है जब मैं एक हेडलेस लिनक्स पर्यावरण में एक परियोजना का प्रबंधन कर रहा हूँ। मैं एक धक्का के बाद एक hg update करते हैं, और मैं इस स्क्रीन मिलती है:मर्कुरियल डिफ मर्ज: यह कौन सा टूल है और मैं इसका उपयोग कैसे करूं?

enter image description here

सहायता अनुभाग में कहते हैं कि यह vim है, कैसे मैं अपने आवेदन के विलय के बारे जाते हो।

उत्तर

5

ऐसा लगता है कि आपको विम के diff मॉड्यूल का उपयोग करने में कुछ मदद चाहिए। इनमें से किसी एक देखें:

आप विम का उपयोग कर सहज महसूस नहीं कर रहे हैं, वहाँ निश्चित रूप से आप अपने खुद के पसंदीदा diff उपकरण निर्दिष्ट कर सकते हैं कि एक विकल्प है, लेकिन मुझे नहीं पता एचजी को जानें, इसलिए मैं आपको नहीं बता सकता कि आपको कौन सा विकल्प संशोधित करना होगा।

खोले गए विम में तीन फाइलें भिन्न हैं, इसलिए मुझे लगता है कि hg update करते समय आप कुछ संघर्षों में भाग गए।

+1

मैंने एक स्क्रीनकास्ट दिखाया [विम में 3 तरीके विलय विवाद कैसे करें] (http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/)। उदाहरण Mercurial के बजाय गिट का उपयोग करता है, लेकिन एक ही सिद्धांत लागू होते हैं। – nelstrom

+0

हालांकि मुझे सराहना है कि आप सहायक होने की कोशिश कर रहे हैं, न तो उन लिंकों में से एक तीन-फ़ाइल diff के साथ सौदा करता है, और वे लगभग पूरी तरह से डुप्लिकेट जानकारी प्रदान करते हैं। मुझे नहीं लगता कि वे पूछे गए प्रश्न का उत्तर देने में मदद करते हैं। –

35

यह vimdiff है। आप man vimdiff चलाकर इसके बारे में और जान सकते हैं।

हालांकि, मैं Mercurial के आंतरिक: मर्ज टूल का उपयोग करने की सलाह दूंगा। यह विलय करेगा और यदि कोई संघर्ष होता है, तो फ़ाइल में विवाद चिह्नक डालें और आपको सूचित करें कि एक संघर्ष था। फिर आप फ़ाइल खोलते हैं, संघर्ष को हल करते हैं, संघर्ष मार्करों को हटाते हैं, फ़ाइल को हल के रूप में चिह्नित करते हैं, और जब सभी फाइलें साफ़ हो जाती हैं तो आप विलय का परिणाम कर सकते हैं। यह विचलन कैसे संभालता है इस तरह के समान है। आप आंतरिक उपयोग करने के लिए तेज कॉन्फ़िगर कर सकते हैं: जोड़कर विलय आपके ~/.hgrc फ़ाइल में निम्नलिखित:

[ui] 
merge=internal:merge 

आप विरोध हुआ फ़ाइलों की सूची प्राप्त करने और उन्हें हल हो गई hg resolve कहा जाता है चिह्नित करने के लिए इस्तेमाल करेंगे उपकरण है, तो मैं उस उपकरण के बारे में अधिक जानने के लिए hg help resolve चलाने की अनुशंसा करता हूं। आप चलकर उपकरण मर्ज करने के लिए Mercurial के समर्थन के बारे में अधिक जान सकते हैं: hg help merge-tools

2

मेरे अनुभव से, उपकरण - जो कि अधिकांश लोगों के लिए उपयोग करने के लिए सबसे आसान है - केडीएफ 3 (सहज मेनू, आधार के साथ प्राकृतिक दृश्य और ऊपर दोनों युक्तियां और नीचे दिए गए पाठ, अच्छे कीबोर्ड शॉर्टकट्स - Ctrl-1/Ctrl -2/Ctrl-3 स्निपेट को पहली/दूसरी/तीसरी विंडो से चुनने के लिए, Ctrl-तीरों को संघर्ष से संघर्ष तक कूदने के लिए)। बस इस प्रोग्राम को स्थापित करें और इसे मर्ज-टूल्स कॉन्फ़िगरेशन में उच्चतम प्राथमिकता दें (सेट

[merge-tools] 
kdiff3.priority=1000 

)।

सामान्य रूप से: जो भी उपकरण आप उपयोग करते हैं, यह आपको फ़ाइल के विरोधाभासी संस्करण दिखाता है और आपको अंतिम संस्करण बनाने की उम्मीद करता है।