2013-04-30 5 views
5

का बैकफोर्स पी 4 वी क्लाइंट (संस्करण 2013.1/611291, दिनांक 2013 मार्च 20) का उपयोग कर रहा हूं, मुख्य शाखा से फीचर शाखा तक पूरी तरह से एकीकृत करने में असमर्थ।पिछली गड़बड़ी एकीकरण

मैंने मुख्य शाखा से मेरी सुविधा शाखा में विलय/एकीकृत करने का प्रयास किया। यह लंबे समय से किया गया था क्योंकि मैंने ऐसा किया था, इसलिए परिवर्तनीय में बड़ी संख्या में फाइलें शामिल की गई थीं। मैंने तब विवादित फ़ाइलों का समाधान किया जिन्हें स्वचालित रूप से विलय नहीं किया जा सका। मैंने फिर चेंजलिस्ट प्रस्तुत किया। ऐसा करने के बाद, मैंने पाया कि कुछ फाइलें एक गन्दा विवादित स्थिति में बनी हुई थीं। वास्तव में मेरे लिए एक रहस्य क्यों है, लेकिन उन्हें ठीक करने की कोशिश करने के बजाय, सोचा मर्ज/पूरी तरह से एकीकृत करना और फिर से शुरू करना आसान होगा।

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

समस्या यह है कि यदि मैं फिर से मर्ज/इंटीग्रेट विकल्प का प्रयास करता हूं, तो इस बार जब बलफोर्स एकीकरण चेंजलिस्ट में डालना चाहता है तो उन फ़ाइलों की संख्या के चारों ओर गोल करें जो मूल रूप से एकीकृत करने की कोशिश कर रहे हैं। एक और तरीका रखो, यह बहुत सी फाइलें नहीं जोड़ रहा है जो मुझे पता है कि मुख्य शाखा में विकास के मामले में सबसे निश्चित रूप से आगे है।

एकमात्र तरीका यह है कि मैं इस बारे में सोचने में सक्षम हूं, उन्नत विकल्प Force integration on all revisions, disregarding revision history (-f) का उपयोग करना है। इस विकल्प सेट के साथ, फिर यह शाखा से सभी फ़ाइलों को विलय करने के लिए जोड़ देगा।

मुझे संदेह है कि समस्या इस तथ्य के साथ कुछ करने के लिए है कि फ़ाइलों के पास अब उनके इतिहास में एकीकरण है, और इसलिए पेर्स उस बिंदु का आधार आधार के रूप में उपयोग कर रहा है। तथ्य यह है कि गड़बड़ एकीकरण 'बैक आउट' था, इससे कोई फर्क नहीं पड़ता।

मैंने रोलबैक करने की भी कोशिश की, लेकिन एक ही समस्या बनी हुई है।

मैं इसे कैसे हल कर सकता हूं?

संपादित मैं बाद में एहसास हो गया निम्नलिखित समान प्रश्न है कि वहाँ: How can I undo an Integration in Perforce, and still be able to redo it?

उत्तर

4
  • फ़ाइलें जो आप अपने सुविधा शाखा में मुख्य शाखा से एकीकृत करने के लिए कोशिश कर रहे हैं के बाद एकीकरण इतिहास है आपका पहला एकीकरण चेक-इन।
  • जब आपने परिवर्तनों का समर्थन किया, तो आपको अपनी फीचर शाखा की फाइलें उस राज्य में मिलीं जहां यह एकीकरण से पहले थी, लेकिन फाइलों के नए संस्करण उस पिछले परिवर्तक में प्रत्येक फ़ाइल के लिए बनाए गए थे।
  • अगला एकीकृत इसलिए को केवल को अंतिम बार से एकीकरण पथ में अंतर लाने की कोशिश करता है।

जैसा कि आपने पहले ही उल्लेख किया है, इस स्थिति से बाहर निकलने का एकमात्र तरीका -i का उपयोग करके एक बल को एकीकृत करना है। आप अभी भी पिछली बार की तरह p4 resolve -as ... और p4 resolve -am ... का उपयोग करके परिवर्तनों को हल कर सकते हैं, और फिर मर्ज करने के लिए शेष विवादों को हल कर सकते हैं। सिवाय इसके कि इतिहास पूर्व विलय प्रतिबद्धता में परिवर्तित फ़ाइलों के 2 अतिरिक्त संस्करण दिखाएगा और इसका समर्थन करने के लिए प्रतिबद्धता दिखाएगा।

  • आप एक अलग स्थान पर एक फीचर शाखा बनाने और अपने वर्तमान स्थान पर एक को त्यागकर साथ ठीक हैं, तो आप प्रारंभिक बिंदु नई सुविधा शाखा के लिए प्रतिबद्ध/परिवर्तन सूची बस से पहले आप प्रदर्शन होने के लिए सेट कर सकते हैं समस्याग्रस्त एकीकृत।
  • अपनी मुख्य शाखा से नई फीचर शाखा में एकीकृत करें और आपके पास इस समय एक अधिक क्लीनर इतिहास होना चाहिए और आपके मूल फीचर शाखा में भी सभी फ़ाइल परिवर्तन (इतिहास के साथ) होना चाहिए।

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

यह मेरी कंपनी के कारणों में से एक है, सभी आर्किटेक्ट्स और एससीएम बहुत अधिक picky हैं और perforce का उपयोग करके एकीकरण करने के दौरान शाखाओं के बीच एकीकरण पथ का सख्ती से पालन करने के बारे में उनकी वर्कफ़्लो सलाह दोहराते हैं।

+0

वास्तव में आपके उत्तर के लिए बहुत धन्यवाद - यह वास्तव में बहुत सराहना की है। मेरे लिए अब बोरी मारने का समय वास्तव में (मेरे गरीब सिर के पास पर्याप्त था!) ​​तो मैं कल इस पर वापस आऊंगा और आपकी सिफारिशों के बावजूद ठीक से दौड़ूंगा। प्रारंभिक नज़र में हालांकि ऐसा लगता है कि आप पुष्टि कर रहे हैं कि मुझे मूल रूप से संदेह है, जो कि 'अंतरिक्ष से नूक' विकल्प यहां एकमात्र संकल्प हो सकता है। मैं काम पर पर्सफोर्स का उपयोग करता हूं लेकिन व्यक्तिगत उद्देश्यों के लिए मैं 'गिट' का भारी उपयोग करता हूं, जो कि आप कह रहे हैं कि इस तरह की स्थितियों में अधिक क्षमाशील प्रतीत होता है। – Trevor

+1

कड़ाई से बोलते हुए, वहाँ * बलफोर्स में इतिहास को फिर से लिखने के तरीके हैं और इसे एकीकरण इतिहास के बारे में भूल जाते हैं और फिर से ताजा शुरू करते हैं। लेकिन वे बहुत उन्नत और सूक्ष्म हैं, और यदि आप निराश हैं, और फिर केवल पर्सफोर्स तकनीकी सहायता की सहायता से ही उन्हें केवल उन्हें ही लेना चाहिए। अन्यथा, टक्सडुड की उत्कृष्ट सलाह का पालन करें। –

+1

@ ब्रायन पेंडलेटन - मेरा मानना ​​है कि आप 'पी 4 निरक्षर' के बारे में बात कर रहे हैं जैसा कि यहां बताया गया है [http://answers.perforce.com/articles/KB_Article/How-To-Rollback-An-Ingration)। मैंने इसका उल्लेख नहीं किया है जैसा आपने इंगित किया था :) सबसे पहले, इसे बल में बढ़े हुए विशेषाधिकार (सुपरसियर) की आवश्यकता होती है, और अगली 'विलुप्त होने' एक खतरनाक कमांड है जो फाइल के संस्करणों को फाइलों के संस्करणों को हटाने के लिए चलाया जा सकता है । @ ट्रेवर, जैसा कि ब्रायन ने बताया, यदि आप 'पी 4 निरक्षर' का उपयोग करना चाहते हैं, तो कृपया आगे बढ़ने से पहले एससीएम व्यवस्थापक की सहायता लें। – Tuxdude

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