2012-10-03 13 views
15

मुझे दो शाखाएं हैं (ट्रंक के बच्चे) जिन्हें परीक्षण के लिए एक शाखा में विलय करने की आवश्यकता है, लेकिन वे ट्रंक में नहीं जा सकते हैं। दोनों शाखाएं ट्रंक @ हेड के साथ अद्यतित हैं। मैं ट्रंक के नवीनतम संस्करण से शाखा प्लैटिपस बनायाएसवीएन दो शाखाओं के बीच विलय - "पथ नहीं मिला"

__________________________trunk 
    \ 
    \______________platypus 

, और की इस नई कॉपी में बतख और ऊदबिलाव मर्ज करने के लिए कोशिश कर रहा हूँ: तो मैं इस से जाना चाहता हूँ:

__________________trunk 
    \___duck \ 
       \___beaver 

यह करने के लिए ट्रंक:

svn copy ^/trunk ^/branches/platypus; 
svn switch ^/branches/platypus; 
svn merge --reintegrate ^/branches/duck; 
svn merge --reintegrate ^/branches/beaver; 

लेकिन मर्ज ऑप्स असफल

svn: '/blah/!svn/bc/12047/repo/branches/duck' path not found 

यदि मैं ट्रंक में बतख (या बीवर) को हटाना चाहता हूं तो यह ठीक काम करता है। मुझे यहां क्या समझ नहीं आ रहा है?

+0

बतख, बीवर, प्लूटपस - बहुत मजेदार – Konstantin

उत्तर

15

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

मैं TortoiseSVN उपयोग कर रहा था हाथ से संशोधन लेने के लिए, लेकिन मैं SVN कमांड लाइन का उपयोग कर अनुमान यह होगा कुछ की तरह:

svn log --stop-on-copy https://svn.blah/svn/proj1/branches/xyz 

तब सभी संशोधन संख्या को नोट और उन सब एक ही बार में विलय, जैसे:

svn merge -c123,124,156,159 https://svn.blah/svn/proj1/branches/xyz 
-1

मर्ज करने पर --ignore-ancestry विकल्प का उपयोग करने का प्रयास करें। यह विलय इतिहास अधूरा हो सकता है (संभावित रूप से कछुआ या उस तथ्य के लिए किसी भी ग्राहक के कारण) और शाखा पर जो कुछ किया गया था वह काम करने की प्रतिलिपि पर लागू होने की कोशिश कर रहा है जब आप 'सामान्य' विलय करते हैं।

+1

धन्यवाद लेकिन यह काम नहीं करता है। आप एक ही समय में --reintegrate और --ignore-ancestry का उपयोग नहीं कर सकते हैं और बिना विलय के एक विलय केवल विवादों का एक टन बनाता है क्योंकि दोनों शाखाओं में एक ही ट्रंक होता है – Mathew

1

मुझे एक ऐसी शाखा को फिर से जोड़ना पड़ा जो एक शाखा से विलय हो गया था (अब खुद को फिर से बदल दिया गया है)। इस तरह:

-----------------------------r7------------------ 
    \      /   /ERROR !svn/bc/4/repo/branches/duck' path not found 
    r1----dinosaur--r5-------   /
        \---duck------------r9 

यह बतख के एकीकरण के लिए संभव हो सकता है नहीं लगता है, पथ नहीं मिला त्रुटि r4 बारे में शिकायत की - लेकिन मैं ट्रंक करने के लिए वापस बतख से विशिष्ट संशोधन (R5-R9) मर्ज कर सकते हैं।

0

मैं इस का समाधान इस प्रकार है:

  1. ट्रंक में समस्याग्रस्त शाखाओं विलय

  2. निर्मित नई 'समेकित "ट्रंक से शाखा

  3. अपने राज्य को वापस लाया गया

    ट्रंक चरण 1 से पहले और रिवर्सन

  4. शाखा में केवल चरण 3 से रिकॉर्ड विलय

  5. नए समेकित शाखा वापस ट्रंक को मर्ज करके परीक्षण किया गया, लेकिन निश्चित रूप से यह नहीं की

अंत परिणाम से परिवर्तनों वाली एक नई शाखा है फीचर शाखाएं और ट्रंक अपरिवर्तित (लेकिन लॉग में कुछ नई प्रविष्टियों के साथ)।

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