2010-01-19 19 views
13

में मैं अपनी विकास शाखा को वापस अपने रेपो के ट्रंक में विलय करने की कोशिश कर रहा हूं। कदम मैं ले लिया: एक्लिप्स मर्ज शाखा ट्रंक

  • जाँच लें कि उसमें अप टू डेट है ट्रंक

    1. स्विच करने के लिए, कोई विरोध टीम को
    2. जाओ हल> मर्ज
    3. चयन यूआरएल: विकास शाखा
    4. प्रारंभ संशोधन: संशोधन जब शाखा बनाया गया था
    5. समाप्ति संशोधन: सिर
    6. ठीक

    यह जादू करना चाहिए - यह syncronize दृश्य जो ठीक है खुल जाता है, मुझे सभी संघर्षों से पता चलता है, लेकिन वहाँ समस्या होता है:

    तुलना संपादक मैं दो फ़ाइलों को देखने में: स्थानीय फ़ाइल | रिमोट फाइल (306)

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

    अब तीर सही ढंग से दिखाता है कि मैं बाएं से दाएं (शाखा से ट्रंक) में विलय कर रहा हूं। यह तब भी होता है जब मैं ठीक क्लिक करता हूं।

    लेकिन मैं केवल दाएं से बाएं बदलावों को स्थानांतरित कर सकता हूं !!! यही वह नहीं है जो मैं चाहता हूं - मैं शाखाओं में ट्रंक की पुरानी सामग्री के साथ परिवर्तनों को ओवरराइट नहीं करना चाहता हूं। मैं सामग्री को बाएं (शाखा) से दाएं (ट्रंक) में ले जाना चाहता हूं। लेकिन मैं सही फ़ाइल में भी लिख नहीं सकता।

    मुझे नहीं पता कि यह दूरस्थ फ़ाइल क्यों लिखता है ?? यह स्पष्ट रूप से दूरस्थ फ़ाइल विंडो में कार्यशील प्रति फ़ाइल दिखा रहा है, और शाखा से फ़ाइल (विलय के लिए) स्थानीय फ़ाइल में दिखाया गया है।

    सबवर्सिव में कुछ बग?

    Thx, मार्टिन

  • उत्तर

    6

    -बनाए कभी नहीं (के रूप में इस वर्ष SO question में उल्लेख किया है) विध्वंसक के साथ आसान कर रहे हैं, तो बाहर से मर्ज कर किया जा सकता है (या Subclipse के साथ) यहाँ आसान होगा।

    यदि आपका ग्राहक और भंडार कम से कम एसवीएन 1.5 में हैं, तो सबवर्सिव नई मर्ज क्षमताओं बेहतर हैं, लेकिन this thread द्वारा सचित्र के रूप में अभी भी खतरनाक हैं।

    चूंकि सबवर्सिव एसवीएन 1.5 के लिए संशोधित किया गया है, इसलिए संपूर्ण विलय व्यवहार बदल गया है। एक चीज जिसे मैं वास्तव में पसंद करता हूं वह यह चुनने की क्षमता है कि मैं कौन से परिवर्तन चाहता हूं, इसे मेरी कार्यशील प्रतिलिपि पर लागू करें और फिर ट्रंक करने के लिए प्रतिबद्ध करें।
    सबवर्सिव अब ऐसा नहीं करता है लेकिन सभी कामों को आपकी कार्यशील प्रतिलिपि पर मजबूर करता है और फिर आप चुनते हैं कि ट्रंक में क्या रखा जाए।

    यह केवल अवांछित व्यवहार नहीं है बल्कि यह भी खतरनाक है (यदि आप वैसे भी वापस लौटने की संभावना को अनदेखा करते हैं)। मैं उन चीज़ों को प्रतिबद्ध करना पसंद करता हूं जिन्हें मैं काम जानता हूं। हमारे पास एक रिलीज शाखा है जो परिवर्तन करता है जो ट्रंक में माइग्रेट करने की आवश्यकता हो सकती है या नहीं।

    +1

    अपने में डरावना के true..it की तरह है कि मर्ज से पहले होता है (उपयोगकर्ता सहभागिता के बिना) है कि कामकाजी प्रतिलिपि और फिर आपको ट्रंक से तुलना करना और अवांछित परिवर्तनों को वापस करना होगा। मैं इसे दूसरी तरफ पसंद करता हूं, (अब वर्जन का प्रयास कर रहा हूं), जहां वर्किंग कॉपी में विलय होने से पहले उपयोगकर्ता यह चुन सकता है कि कौन सी चीजें मर्ज हो सकती हैं। – martin

    2

    वैसे यह पहली बार रहस्यमय लग रहा था, अब मैं हर किसी के लिए यह जवाब अपडेट करने के लिए एक सभ्य स्टैब प्रदान करूंगा। यह ग्रहण के लिए एसवीएन सबवर्सेव क्लाइंट का उपयोग करके विलय का संबंध है:

    ट्रंक में शुरू होने और फिर अपनी स्थानीय शाखा के अंतर्गत आपकी फ़ाइल को इंगित करने के लिए आप अपना विलय सही तरीके से कर रहे हैं। टीम सिंक्रनाइज़िंग टैब के अंतर्गत आपकी फ़ाइलें "टेक्स्ट तुलना" विंडो में खुलती हैं। यदि आपको बाएं हाथ नेविगेशन कॉलम में संघर्ष नहीं दिखते हैं, तो आपका विलय अभी हुआ है। हां, यह भ्रमित और गैर-सहज है।

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

    यदि सभी इसे दिखाना चाहते हैं, तो नेविगेटर विंडो में फ़ाइल पर क्लिक करें (मेरे ग्रहण हेलीओस इंस्टॉल में बाएं फलक) और ड्रॉप-डाउन से स्वीकार करें चुनें। फिर अपने मुख्य कोड-व्यूइंग टैब पर वापस क्लिक करें (मेरी स्थापना में यह PHP है लेकिन यह जो भी आप उपयोग कर रहे हैं) और फिर फ़ाइल को ट्रंक में प्रतिबद्ध कर सकते हैं।

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

    0

    यह आसान हो जाता है चेक के साथ ट्रंक

    जांच के रूप में ... एक अलग परियोजना का नाम देते हैं।

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

    विशेष रूप से शाखा पर काम कर रखने के लिए और मेरे लिए एक आकर्षण की तरह काम किया

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