2011-02-01 5 views
24

संस्करण 1.7 से संस्करण 1.6x तक एक उपवर्तन कार्य प्रतिलिपि डाउनग्रेड करने का कोई तरीका है?v1.7 से v1.6 तक एक उपversण पेड़ को डाउनग्रेड कैसे करें?

संस्करण 1.7 मेटाडेटा के लिए एकल .svn रूट फ़ोल्डर और स्क्लाइट का उपयोग करता है ताकि tigris.org से रूपांतरण पायथन स्क्रिप्ट काम न करे।

क्या आप ऐसे समाधान के बारे में जानते हैं जिसमें v1.6 के तहत क्लीन चेकआउट बनाने और संशोधित फ़ाइलों पर प्रतिलिपि शामिल नहीं है?

+0

क्या अभी तक जारी किया गया है? कौन सा ग्राहक इसका समर्थन कर रहा है? – eckes

+0

विंडोज बीटा संस्करणों के लिए टोर्टोइज एसवीएन से रात में साइट पर निर्माण होता है http://nightlybuilds.tortoisesvn.net/latest/ – ccpizza

उत्तर

18

कार्य प्रतिलिपि डाउनग्रेड करने के लिए script है।

हालांकि, यह 1.7 प्रारूप से 1.6 प्रारूप में डाउनग्रेडिंग का समर्थन नहीं करता है, और न ही भविष्य में यह कभी भी इसका समर्थन करेगा। लिपि में टिप्पणी हमें बताएँ कि यह असंभव है:

# Downgrading from format 11 (1.7-dev) to format 10 is not possible, 
    # because 11 does not use has-props and cachable-props (but 10 does). 
    # Naively downgrading in that situation causes properties to disappear 
    # from the wc. 
+0

-1 वोट के लिए खेद है। लेकिन यह एक वैध जवाब कैसे हो सकता है? – fishbone

+2

@ फिशबोन: मुझे लगता है कि आप का मतलब है कि अन्य उत्तरों में से एक को इस से ऊपर वोट दिया जाना चाहिए। ध्यान दें कि वे उत्तर वास्तव में आपकी कार्यशील प्रति की स्थिति को संरक्षित नहीं करेंगे। एक उदाहरण देने के लिए, यदि आपने डाउनग्रेड के बाद "svn mv foo bar" किया था तो आप देखेंगे कि foo "missing" है और बार "अपरिवर्तित" है। असामान्य एसवीएन संपत्ति संशोधन पूरी तरह से खो जाएगा। तो आईएमओ "यह नहीं किया जा सकता" अभी भी एक वैध जवाब है। –

+1

मुझे खेद है, मेरी गलती, मुझे डाउनवोट को हटाना है। यह मुझे लगता है जैसे "मैं 1.7 से 1.6 डाउनग्रेड कैसे कर सकता हूं" - "मुझे एक स्क्रिप्ट पता है जो वास्तव में ऐसा नहीं कर सकता": डी। मैंने स्क्रिप्ट की टिप्पणियों को गलत समझा, जो आपके उत्तर का वास्तविक बिंदु है। संपादित करें: जब तक यह उत्तर संपादित नहीं किया जाता है तब तक मैं वोट को नहीं हटा सकता :( – fishbone

5

मेरे गंदे समाधान v1.6 का उपयोग कर एक साफ चेकआउट का निर्माण करना था और उसके बाद एक छोटे से बैश स्क्रिप्ट का उपयोग कर मौजूदा काम कर प्रतिलिपि करने के लिए केवल .svn फ़ोल्डरों कॉपी:

#!/usr/bin/env bash 
    target=/projects/working-copy-dir 

    svn_dirs=`find . -type d -iname .svn` 

    for svn_dir in $svn_dirs; do 
     tosvn_dir=$target${svn_dir/\.\//} # strip the extra './' path component 
     cp -r $svn_dir $tosvn_dir 
    done 

इसमें यह माना जाता स्क्रिप्ट स्वच्छ चेकआउट निर्देशिका से चलाया जाता है। Target संशोधित कामकाजी प्रति है। स्क्रिप्ट चलाने से पहले शीर्ष-स्तर v1.7 .svn dir को हटाया/बदला जाना चाहिए।

ps। मैं इसे समय के उत्तर के रूप में चिह्नित नहीं कर रहा हूं, क्योंकि ऊपर दिया गया समाधान एक कामकाज है और वास्तव में परियोजना को 1.7 से 1.6 तक परिवर्तित नहीं करता है। तो सवाल खुला रहता है।

14

मुझे 1.7 कार्यशील प्रतिलिपि से .svn फ़ोल्डर को हटाने का सबसे अच्छा तरीका मिला, इसके बाद 1.6 को चेकआउट करें। यह मेरे लिए काम करता है, यह आपके लिए भी काम कर सकता है।

+0

यह मेरे लिए बहुत अच्छा काम करता था। मैं स्थानीय रूप से किए गए परिवर्तनों को रखने में सक्षम था। कुछ अतिरिक्त फाइलें संशोधित हो गईं लेकिन मैं उन्हें वापस करने में सक्षम था। – Speck

+0

डाउनग्रेड करने की आवश्यकता के लिए मेरा कारण इसलिए मैं एक वर्कस्टेशन से एक 30 जीबी चेकआउट की प्रतिलिपि 1.67 के साथ वर्कस्टेशन में कर सकता हूं (उबंटू 12.10 से 12.04 तक)। मैंने यह कोशिश नहीं की है, लेकिन यह एक बहुत ही व्यावहारिक समाधान की तरह लगता है। धन्यवाद! –

2

(TortoiseSVN 1.6.x ग्राहक का उपयोग कर के साथ) (सर्वर पर फ़ाइलों संभालने सही हैं) सबसे अच्छा तरीका है मैं अब तक पाया:

  1. अपने आईडीई बंद
  2. हटाना स्थानीय फ़ाइलों
  3. निकालें SVN 1,7
  4. स्थापित SVN 1,6
  5. चेकआउट फ़ाइलों
+1

मैं यह भी करूँगा लेकिन सवाल यह था कि इससे कैसे बचें। –

0

यह दृष्टिकोण सिनैप्टिक पैकेज मैनेजर का उपयोग करता है, इसलिए सुनिश्चित करें कि यह इंस्टॉल है।

  1. /etc/apt/sources.list में निम्न पंक्ति जोड़ें:

    deb http://us.archive.ubuntu.com/ubuntu precise main 
    

    यह आपको से यानी 1.7 और 1.6 चयन करने के लिए कम से कम दो संस्करण है सुनिश्चित करेगा।

  2. भागो

    पैकेज प्रबंधक में
    sudo apt-get update 
    
  3. जाओ, subversion के लिए खोज और उसे चुनें।

  4. मेनू चयन पैकेज से

    ->गुण - ->बल संस्करण1.6 या सही क्लिक का चयन करें> संस्करण का चयन 1.6

  5. पैकेज

  6. पैकेज का चयन फिर से स्थापित करें, तो मेनू ->ताला संस्करण

    यह उच्च संस्करणों के स्वचालित अपडेट को रोकने के लिए है।

यह है। सौभाग्य।

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