2011-05-10 17 views
6

तो मुझे लगता है कि मैं SVN के साथ आधे रास्ते सभ्य था इस्तेमाल किया` SVN diff` से अलग परिणाम पैदा करता है, लेकिन इस विशेष समस्या मुझे रोकने है ...`SVN merge`

मैं एक विषय शाखा जहां मुझे मिल गया है मैंने कुछ फाइलें जोड़ दी हैं और एक मामूली संशोधन किया है। मैंने ट्रंक से सभी परिवर्तनों को विलय कर दिया था जब से मेरी विषय शाखा काट दिया गया था:

svn merge ^/[email protected] ^/[email protected] मेरी कार्य प्रतिलिपि के रूप में शाखा के साथ।

मैं शाखा को उन परिवर्तनों और अब मेरी शाखा और ट्रंक के बीच अलग तरह का इस तरह दिखता है प्रतिबद्ध:

> svn diff ^/trunk ^/branches/KULRICE-5050 --summarize 
D  https://test.kuali.org/svn/rice/trunk/impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy 
M  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy 
A  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy 
A  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy 
... 

दूसरे शब्दों में, कुछ भी नहीं है मैं उम्मीद नहीं थी। ये वे फाइलें हैं जिन्हें मैंने अपनी शाखा में बदल दिया है। मेरे कार्य प्रतिलिपि के रूप में ट्रंक के साथ

svn merge ^/trunk ^/branches/KULRICE-5050:

मैं तो शाखा के माध्यम से ट्रंक करने के लिए नीचे विलय करने के लिए प्रयास करें। इसके बजाय उन फ़ाइलों को संशोधित करने की है कि diff --summarize से पता चला है कि मैं अंत देखकर निम्नलिखित:

> svn merge ^/trunk ^/branches/KULRICE-5050 
--- Merging differences between repository URLs into '.': 
D impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy 
U kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleMemberBoTest.groovy' 
A kim/kim-impl/src/main/java/org/kuali/rice/kim/impl/role 
... 
... 
Skipped 'kim/kim-api/src/main/java/org/kuali/rice/kim/api/role/RoleResponsibilityActionContract.java' 
Summary of conflicts: 
    Skipped paths: 38 
--- Merging r20279 through r20321 into '.': 
... 
... 
Summary of conflicts: 
    Tree conflicts: 171 
    Skipped paths: 33 
--- Reverse-merging r20321 through r20279 into '.': 
... 

... ऊपर स्थानों पर जहां मैं विवरण बाहर छोड़ दिया गया है संकेत मिलता है। यह केवल उन फ़ाइलों के अपडेट और संघर्ष का एक गुच्छा है जो मेरे परिवर्तन के पास कहीं भी नहीं होना चाहिए।

इस मामले में धरती पर विलय क्यों लागू हो रहा है और अलग-अलग संशोधन श्रेणियों में एक रिवर्स विलय की कोशिश कर रहा है जब मैंने जो कुछ भी निर्दिष्ट किया है वह है 'मुझे ट्रंक और शाखा के बीच अंतर दें और इसे मेरे ट्रंक डब्ल्यूसी में विलय करें' ? इसे संशोधन श्रेणियों के साथ कुछ भी नहीं करना चाहिए। क्या आपके पास कोई विचार है कि यह क्यों हो रहा है और इसे सुधारने के लिए मुझे अपने svn कमांड में क्या संशोधित करने की आवश्यकता है?

मेरा svn क्लाइंट svn है, संस्करण 1.6.15 (r1038135) और svn सर्वर 1.4.5 (r25188) है। सर्वर संस्करण मेरे नियंत्रण से बाहर है, इसलिए svn मर्ज ट्रैकिंग का उपयोग करने के बजाय विलय की पुरानी शैली।

उत्तर

5

शायद यह काम पर "रबर डकिंग" था, लेकिन यहां जवाब यह है कि मुझे अपने मर्ज कमांड में --ignore-ancestry निर्दिष्ट करने की आवश्यकता है। अन्यथा, 1.6 svn क्लाइंट, मेरी ओर से मर्ज ट्रैकिंग के साथ एक विलय का प्रयास करता है, भले ही सर्वर अभी भी 1.4 है और मर्ज ट्रैकिंग का समर्थन नहीं करता है।

+1

धन्यवाद। वास्तव में वही परिदृश्य जिसके साथ मैं काम कर रहा हूं। मुझे '--reintegrate' याद आती है – FlipMcF