2009-05-29 13 views
23

विशेष रूप से:क्या कोई व्यक्ति एकीकरण विकल्पों को समझा सकता है?

  • क्यों मैं स्पष्ट रूप से हर समय सक्षम "निराधार का आपस में विलय सक्षम करें" की जरूरत है? मैं अपनी शाखा से ट्रंक में एकीकृत कर रहा हूं।

  • " हटाए गए लक्ष्य" को एकीकृत करने का क्या अर्थ है? क्या यह डिफ़ॉल्ट रूप से ऐसा नहीं करना चाहिए? अगर फ़ाइल मौजूद नहीं है, और आप पर फ़ाइल के साथ शाखा को एकीकृत करते हैं, तो इसे फ़ाइल बनाना चाहिए, है ना ??

  • "चयनित फ़ाइलों में से नवीनतम संशोधन " प्राप्त नहीं करता है " एकीकृत करने के साथ क्या करना है? मुझे स्रोत संशोधन का चयन करना चाहिए, और एक लक्ष्य ( नया लक्ष्य संशोधन बनाना)।

  • "अप्रत्यक्ष एकीकरण इतिहास" का क्या अर्थ है? मैंने कभी इसका इस्तेमाल नहीं किया है, क्योंकि यह डरावना लगता है।

के रूप में मैं क्या विकल्प है जब मैं विभिन्न शाखाओं या ठीक इसके विपरीत हमारे ट्रंक से विभिन्न एकीकरण कार्य करने के लिए कोशिश कर रहा हूँ सक्षम करने के लिए के एक छोटे से लेकर अनिश्चित हूं मैं, पता करने के लिए आभारी होंगे। (मैं बिल्डमास्टर नहीं हूं, लेकिन हे, मैं जानना चाहता हूं कि वह क्या जानता है)।

उत्तर

8
  1. सामान्य तौर पर, दो फ़ाइलों को मर्ज करने, जबरदस्ती एक "आधार", दो फ़ाइलों के सबसे करीब संशोधन के लिए लग रहा है, और है कि बस सीधे एक diffing दो फ़ाइलों चलाने की तुलना में एक बेहतर diff प्रदान करने के लिए उपयोग करता है। Knowledge Base Article देखें। अपने पर्सफोर्स सेटअप को जानने के बिना, मैं यह नहीं कह सकता कि क्या गलत हो रहा था, हालांकि, पी 4विन के पास शाखाओं को देखने के लिए कुछ अच्छे ग्राफिकल टूल्स हैं, आप यह निर्धारित करने में सक्षम हो सकते हैं कि क्यों बलबल आपके लिए आधार नहीं ढूंढ सकता है। यह भी "अप्रत्यक्ष एकीकरण इतिहास को अस्वीकार करता है" करता है: इसे आधार की तलाश करने से रोकता है।

  2. "सिर से सिंक न करें" के लिए: एकीकृत करते समय, आपका "लक्ष्य" आपके स्थानीय क्लाइंट में फ़ाइलें है, जिसे आप संशोधन के लिए निर्दिष्ट नहीं कर रहे हैं; इसके बजाए, बलदाता या तो आपके संशोधन सिर को सिंक करेंगे (यदि आप "-h" का उपयोग नहीं करते हैं), या आपके पास वर्तमान में उपयोग किए जाने वाले व्यक्ति का उपयोग करेंगे। आप मनमाने ढंग से संशोधन निर्दिष्ट नहीं कर सकते क्योंकि आपके स्थानीय ग्राहक के पास केवल एक विशेष है।

+0

आधार के आधार पर पी 4 का स्पष्टीकरण के लिए धन्यवाद! और मुझे लगता है कि इसका मतलब है कि अगर मेरी शाखा की फाइल चेक आउट हो गई है, लेकिन मैं इसे किसी अन्य शाखा से एकीकृत करने की कोशिश कर रहा हूं ... पी 4 मेरी चेक-आउट/संपादित फ़ाइल का उपयोग एक " सिर संशोधन बनाम? –

2

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

+2

आपकी चेतावनी अच्छी तरह से ली गई है, तो पी 4 सिर्फ यह नहीं दिखाएगा कि पुनः त्रुटि वाली फ़ाइल को हल करने के बजाय मुझे एक त्रुटि संदेश फेंकने की आवश्यकता है? –

9

क्यों मैं स्पष्ट रूप से सक्षम करने के लिए हर समय "निराधार का आपस में विलय सक्षम करें" की आवश्यकता है? मैं अपनी शाखा से ट्रंक में एकीकृत कर रहा हूं।

यहां आपकी सहायता नहीं कर सकता। कुछ सही नहीं है।

" हटाए गए लक्ष्य" को एकीकृत करने का क्या अर्थ है?

यदि लक्ष्य फ़ाइल हटा दी गई है और स्रोत फ़ाइल बदल दी गई है, तो लक्ष्य फ़ाइल के शीर्ष पर स्रोत फ़ाइल को फिर से शाखाबद्ध कर देगा। इस विकल्प के बिना, शाखा पर एक फाइल, जिसे शाखा में बदल दिया गया है और ट्रंक पर हटा दिया गया है, को ट्रंक में वापस एकीकृत करने की अनुमति नहीं दी जाएगी।

डिफ़ॉल्ट रूप से ऐसा नहीं करना चाहिए?

यदि आप ट्रंक में वापस फ़ाइल को एकीकृत नहीं कर रहे हैं, तो आप ट्रंक से हटाए गए हैं, फिर ट्रंक पर हटा दिए गए हैं। आम तौर पर 'पी 4 एकीकृत' हटाए गए फ़ाइल के साथ उत्कृष्ट संपादन मिश्रण से बचाता है। हटाए गए फ़ाइल से निपटने के तरीके के बारे में बताने के लिए आपको उन्नत विकल्पों का उपयोग करना होगा।

तो फाइल मौजूद नहीं है, और आप फ़ाइल के साथ उस शाखा को एकीकृत , यह फ़ाइल बनाने चाहिए, है ना?

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

  • नष्ट कर दिया संशोधन के आसपास सक्षम एकीकरण = -d
  • नष्ट कर दिया लक्ष्य से अधिक एकीकृत = -Dt
  • हटाएं लक्ष्य फ़ाइल जब स्रोत हटा दी जाती है = -Ds
  • का प्रयास करते समय स्रोत हटा दी जाती है और फिर से जोड़ा = डि
  • परिवर्तन एकीकृत करने के लिए

आप एकीकृत कमांड सहायता में उनके बारे में अधिक जान सकते हैं (कमांड लाइन पर "पी 4 सहायता एकीकृत" टाइप करें)।

क्या एकीकृत साथ क्या करना है "नवीनतम संशोधन चयनित फ़ाइलों के मत हो" करता है?

यह लाज़िमी बताता लक्ष्य फ़ाइल का कार्यक्षेत्र संशोधन उपयोग करने के लिए। डिफ़ॉल्ट रूप से, लक्ष्य फ़ाइल का मुख्य संशोधन स्वचालित रूप से एकीकृत करने से पहले वर्कस्पेस में पुनर्प्राप्त किया जाता है। मान लें कि आपने एक शाखा फ़ाइल में एक संशोधन किया है और इसे वापस ट्रंक में एकीकृत किया है। ट्रंक और शाखा में अब इस फ़ाइल के दो संशोधन हैं। आप शाखा फाइल में बदलाव जमा करते हैं, इसलिए अब इसमें 3 संशोधन हैं। आप शाखा फ़ाइल को वापस संशोधन 2 में सिंक करते हैं। यदि आप अभी सामान्य एकीकरण करना चाहते हैं, तो पर्सफोर्स मान लेगा कि आप सब कुछ मुख्य संशोधन में एकीकृत करना चाहते हैं और शाखा फ़ाइल के संशोधन 3 को ट्रंक में एकीकृत करेंगे। यदि आप इस विकल्प का चयन करना चाहते हैं, तो यह कहेंगे, "सभी संशोधन पहले से ही एकीकृत हैं" क्योंकि आपके कार्यक्षेत्र में संशोधन 2 है।यह हो सकता है एक ही "एकीकरण की सीमा को सीमित करें:" के साथ एकीकृत करने के लिए प्रयास के रूप में विकल्प "तक के सभी संशोधन एकीकृत:" करने के लिए सेट संशोधन 2.

क्या "अप्रत्यक्ष एकीकरण इतिहास पर ध्यान न" क्या मतलब है ? मैंने कभी भी का उपयोग नहीं किया है, क्योंकि यह डरावना लगता है।

मुझे पता नहीं लगाया जा सकता है, न ही यह कोई जानकारी मिलती है, यह क्या करता है।

+0

YOu यह भी जांच सकता है कि आप जिस बलफोर्स को चला रहे हैं उसका संस्करण क्या है। आपका सर्वर संस्करण बहुत पीछे हो सकता है। मैंने कभी 'अवांछित अप्रत्यक्ष इतिहास' को नहीं देखा है - शायद आप पुराने सर्वर संस्करण चला रहे हैं? मैं 2008.2 डॉक्स देख रहा हूं और इसके संदर्भ में नहीं देख रहा हूं। – Mark

+0

मैं 200 मार्च 25 तक पी 4 वी, पर्सफोर्स विजुअल क्लाइंट का उपयोग कर रहा हूं। यह मेरे लिए एक बिल्कुल नया इंटरफ़ेस है, क्योंकि मुझे 2008.2 पी 4Win क्लाइंट में भी उपयोग किया जाता है। @raven: उदाहरणों के लिए धन्यवाद। –

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