2011-04-13 15 views
8

में वृद्धिशील विलय करने का सबसे आसान तरीका मेरे पास एक प्रोजेक्ट है, जिसने कभी-कभी ब्रांच किया है। विभाजित होने के बाद दोनों शाखाओं में बहुत सी प्रतिबद्धताएं थीं, और मैं उन्हें एक में विलय करना चाहता हूं। बस दो सिर विलय करना पर्याप्त नहीं है क्योंकि इसमें बहुत से संघर्ष हैं, और विलय की शाखा भी अस्थिर है, और गैर-कार्यात्मक है।Mercurial

इसलिए मैं दो शाखाओं में वृद्धि करना चाहता हूं। वृद्धिशील से मेरा मतलब है कि मैं शाखाओं में से एक की नोक लेता हूं और एक समय में दूसरे से परिवर्तन लागू करता हूं। प्रत्येक विलय का परीक्षण, और अगर सब कुछ ठीक हो जाता है तो जारी है।

Mercurial का उपयोग करके ऐसा करने का सबसे आसान तरीका क्या है?

उत्तर

6

आपने अपनी रणनीति को बहुत अधिक रेखांकित किया है। मान लें कि आपके पास दो सिर हैं, जिन्हें हेडए और हेडबी नाम दिया गया है। hg up -r headB दो सिरों में से एक के लिए, फिर hg merge -r X बार-बार उपयोग करें, जहां एक्स विकास की दूसरी पंक्ति के साथ एक संशोधन है।

आप इन विलय (समग्र टोपोलॉजी के आधार पर) के लिए अच्छे उम्मीदवारों की एक सूची प्राप्त करने के लिए hg log -r 'ancestor(headA,headB)::headA' का उपयोग कर सकते हैं।

0

आप शाखा में विशिष्ट परिवर्तनों को खींचने के लिए hg transplant का उपयोग कर सकते हैं।

+2

यहां पर दोष यह है कि आप दो अलग-अलग हैशिड्स के साथ दो बार अपने रेपो में एक ही बदलाव के साथ समाप्त हो जाते हैं। जब संभव हो तो विलय हमेशा प्रत्यारोपण के लिए बेहतर होता है। –