2008-10-27 9 views
6

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

/project1/trunk 
/shared/trunk 

project1/trunk साझा फ़ोल्डर पर निर्भर करता है इसलिए SVN के svn:externals संपत्ति है। यह TortoiseSVN के साथ ठीक काम करता है और मैं project1/trunk चेकआउट कर सकता हूं और shared/trunk की एक प्रति दी गई है।

अब मैंने रिपॉजिटरी को किसी अन्य सर्वर पर ले जाया है और बाहरी लिंक अब स्पष्ट कारणों से काम नहीं करते हैं (TortoiseSVN svn://localhost/shared/trunk को चेकआउट करने का प्रयास कर रहा है जो अब मौजूद नहीं है)।

तो मुझे अपने सभी बाहरी अद्यतनों को अपडेट करने की आवश्यकता है - लेकिन मैं किसी मशीन नाम को हार्डकोड नहीं करना चाहता - तो मैं यह काम कैसे कर सकता हूं? ध्यान रखें कि भंडार किसी बिंदु पर फिर से स्थानांतरित हो सकता है। SVN मैनुअल मैं ^/ वाक्य रचना में आए चारों ओर खुदाई, तो मैं करने की कोशिश की है:

svn:externals shared ^/shared/trunk 

यह स्वीकार कर लिया गया लेकिन जब मैं कोशिश करते हैं और मेरी पीसी पर project1 की एक प्रति चेकआउट मैं निम्नलिखित त्रुटि मिलती है:

Unrecognized format for the relative external URL 'shared'. 
Check the path and/or URL you've entered. 

जब तक मैं बाह्य में भंडार मशीन नाम को हार्डकोड मैं इस काम नहीं कर सकते हैं - यह एक काले रंग की कला की तरह लगता है तो किसी भी सलाह स्वागत किया जाएगा।

उत्तर

9

^/सिंटैक्स जिसे आप संदर्भित करते हैं वह एसवीएन 1.5 में नया है, इसलिए आप क्लाइंट और/या सर्वर के पुराने संस्करण का उपयोग कर रहे हैं जो वाक्यविन्यास को समझ में नहीं आता है। इसके अलावा, 1.5 में नए बाहरी वाक्यविन्यास का समर्थन करने के लिए, उन्होंने बाह्य परिभाषा में पैरामीटर के क्रम को बदल दिया। मुझे लगता है कि आप पहले पथ चाहते हैं, फिर इसके लिए फ़ोल्डर का नाम दिखाना है। विवरण docs में हैं।

+2

पथ पहले फ़ोल्डर नाम - जिसने चाल की, धन्यवाद! – Rob