के बाद शाखा विशिष्ट परिवर्तन वापस आते रहते हैं मेरे पास दो स्थायी शाखाओं, डिफ़ॉल्ट और यूएटी के साथ एक मर्कुरियल रिपोजिटरी है। प्रत्येक बार एक बार में, हम यूएटी पर्यावरण में हमारे आवेदन के एक नए संस्करण को तैनात (प्रचारित) करते हैं और हम इसे यूएटी शाखा में एक स्थिर डिफ़ॉल्ट प्रतिबद्धता विलय करके करते हैं। कभी-कभी चीजें यूएटी शाखा में बग-फिक्स्ड हो जाएंगी, और ये बग-फ़िक्स डिफ़ॉल्ट रूप से विलय हो जाएंगे।Mercurial: डमी विलय
यूएटी शाखा पर मुझे तैनाती के उद्देश्यों के लिए कुछ चीजों को बदलने की जरूरत है - कनेक्शन स्ट्रिंग्स और विभिन्न पर्यावरण सेटिंग्स। मैंने जो करने की कोशिश की वह यूएटी शाखा में इन परिवर्तनों को करने और उन्हें यूएटी में विलय करने के बाद सही (सभी एक प्रतिबद्ध के रूप में) करना था। मैं फिर डमी-विलय को डिफ़ॉल्ट रूप से वापस कर देता हूं - सोच यह है कि क्योंकि डिफ़ॉल्ट में अब अपने पूर्वजों में यह प्रतिबद्धता है भविष्य में बगफिक्स यूएटी से डिफ़ॉल्ट रूप से विलय हो जाता है, इन यूएटी-विशिष्ट परिवर्तनों को फिर से करने की कोशिश नहीं करेगा।
हालांकि चीजें आसानी से नहीं चली गईं जितनी मैंने आशा की थी। के साथ शुरू डमी-विलय कर दिया डिफ़ॉल्ट पर प्रतिबद्ध, मैं दिए दोनों परिदृश्यों की कोशिश की है:
1) Make a few more commits to default and then "promote" to UAT (merge default onto UAT)
2) Make a bugfix on UAT and "backport" it to default (merge UAT onto default)
# 1 चल रहा है और # 2 मैं सब कुछ बाहर छीन लिया है के बीच में इतना है कि दोनों परिदृश्यों उसी बिंदु से शुरू ।
जो मैं देख रहा हूं वह है कि आखिरी दिशा विलय के आधार पर मुझे अभी भी एक या दूसरे विलय करने और वापस करने के बाद बदली गई फ़ाइलों का निरीक्षण करने की आवश्यकता है - कभी-कभी विलय डिफ़ॉल्ट कॉन्फ़िगरेशन को यूएटी और कभी-कभी यूएटी में डालने का प्रयास करता है विलय में विन्यास।
यदि मैं कॉन्फ़िगरेशन परिवर्तनों को वापस करता हूं और विलय करता हूं, तो भविष्य में उसी दिशा में विलय ठीक से व्यवहार करता है, लेकिन जिस मिनट में मैं दूसरी दिशा में जाता हूं, विलय फिर से फाइलों में गलत कॉन्फ़िगरेशन डालता है।
मुझे क्या याद आ रही है?
अल्प अवधि में, मैं अपने रखरखाव को अपने मशीन से मैन्युअल रूप से हमारे ऐप को तैनात करने के लिए प्रतिबंधित हूं। उन्हें केवल एक क्लोन मिला है क्योंकि यह एक पुराना वेब ऐप है और आईआईएस फ़ोल्डर सेटिंग्स बदलना एक मिशन है। मैं वास्तव में उसे वर्कफ़्लो का उपयोग करने में सक्षम करना चाहता हूं, जहां उसे केवल डिफ़ॉल्ट रिलीज के लिए डिफ़ॉल्ट रूप से बग-फ़िक्स को माइग्रेट करने की क्षमता के साथ डिफ़ॉल्ट, पुनर्निर्माण और तैनाती से विलय करना है। अगर मैं कभी भी यूएटी को डिफ़ॉल्ट रूप से विलय नहीं करता, लेकिन बदले में बगफिक्स को प्रत्यारोपित करता हूं, तो मुझे लगता है कि यह सही काम करेगा? यह एक समस्या बन जाती है हालांकि अगर बहुत सारे बगफिक्स काम करते हैं ... –
शायद आप यूएटी सेटिंग्स को प्रतिबद्ध कर सकते हैं (अपने रखरखाव के लिए इसे आसान बनाने के लिए) और फिर उन्हें स्थानीय रूप से संशोधित (लेकिन प्रतिबद्ध नहीं) कर सकते हैं? आपको विलय से पहले परिवर्तनों को ढंकने की आवश्यकता होगी और जब (एक्सटेंशन को बाहर निकालें] (https://bitbucket.org/aragost/exclude) थोड़ा सा मदद कर सकते हैं तो उन्हें बाहर करने के लिए '-X' का उपयोग करें)। –
मूल रूप से वह इस समय क्या कर रहा है - जरूरी और शेल्फिंग आवश्यकतानुसार। दुर्भाग्य से यह निर्बाध नहीं है, और जैसे ही हम अधिक वातावरण (उदाहरण के लिए उत्पादन) जोड़ते हैं, तो उन्हें कई अलमारियों या एमक से निपटना पड़ता है, जो आदर्श नहीं है (जहां 'आदर्श' स्पष्ट रूप से अनुपयोगी वर्कफ़्लो है जो ऊपर वर्णित है :))। मुझे लगता है कि हम अब के लिए प्रत्यारोपण दृष्टिकोण का प्रयास करेंगे और देखेंगे कि यह कैसे जाता है ... –