2013-03-21 5 views
63

जब hg merge का उपयोग कर विरोधात्मक परिवर्तन विलय, मर्क्युरियल फाइलों में मार्कर का एक सेट सम्मिलित करता है इस तरह मेरे कार्य के पिछले भाग में विलय कर दिया जाना चाहिए:विवादों को हल करना: स्वचालित रूप से "उनके" परिवर्तनों को कैसे स्वीकार करें?

<<<<<<< local 
    version = 0.2 
======= 
    version = 0.1 
>>>>>>> other 

तो मैं मैन्युअल hg resolve --all -l द्वारा उत्पादित एक सूची से यू के रूप में चिह्नित सभी फ़ाइलों को संपादित और फिर मैं Mercurial बताता हूं मैंने उन्हें hg resolve -m file1 file2 file3 ...

कई स्थितियों में मैं हालांकि कुछ विवादित फ़ाइलों पर केवल मेरे या केवल एकमात्र परिवर्तन स्वीकार करना चाहता हूं। मैं दो सरल sed/awk/accept-theirs.sh और accept-my.sh नामक लिपियों को बनाने के बारे में सोच रहा हूं या क्या ऐसा करने के लिए कोई "उचित" तरीका है?

उत्तर

117

उपयोग

hg resolve -t internal:other --all 

स्वीकार करने के लिए theirs और

hg resolve -t internal:local --all 

स्वीकार करने के लिए yours

+0

बहुत बहुत धन्यवाद! मुझे समझ में नहीं आता कि @ डीजेसी का मतलब क्या है, लेकिन आपका समाधान एक आकर्षण की तरह काम करता है। – psihodelia

+0

@psihodelia djc ने काफी कुछ कहा, 'hg help merge-tools' (mergetools बाद के संस्करणों में उपनाम है) –

+5

एक साइड नोट के रूप में, मैंने इसे उपनाम दिया: '[उपनाम] मेरा = हल-आंतरिक: स्थानीय theirs = resol -t आंतरिक: अन्य ' – Melvyn

16

इस प्रयास करें:

hg merge --tool 'internal:other' 

भी hg help merge-tools अधिक जानकारी के लिए।

+1

या 'एकल फ़ाइलें/यह redoing के लिए resolve'। (इसके अलावा, 'आंतरिक: अन्य' के आसपास उद्धरण अनावश्यक हैं।) –

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

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