2009-03-24 17 views
72

मैं अपने सबवर्जन रिपोजिटरी को एक मशीन से दूसरे में ले जा रहा हूं। मैं कुछ विभिन्न मशीनों पर काम कर प्रतियां बिखरे हुए है, और मुझे पता चला है कि मैं आसानी से काम कर रहे प्रतियां पुराने सर्वर से निम्न आदेश के साथ नया करने के लिए स्विच कर सकते हैं:क्या मैं ग्रहण से एसवीएन रिपॉजिटरीज स्विच कर सकता हूं?

svn --relocate svn://oldServer/repo svn://newServer/repo 

लेकिन, मेरा मशीनों में से एक पर , मैं उपclipse के साथ ग्रहण का उपयोग करता हूं, और मैं अपने ग्रहण परियोजनाओं पर कमांड लाइन एसवीएन का उपयोग करना पसंद नहीं करता। मेरा सवाल यह है कि क्या एसवीएन रिपॉजिटरीज को ग्रहण के भीतर से उपclipse या Subversive का उपयोग करना संभव है।

उत्तर

92

मैं आपको एक और डोमेन के लिए अपने 'भंडार ब्राउज़र' परिप्रेक्ष्य में जाने के लिए वहाँ आप अपने वर्तमान भंडार क्लिक करें और 'स्थानांतरित' इसकी जरूरत है।

+7

यह सबक्लिप्स चलाने वाले बॉक्स पर पूरी तरह से काम करता था, और कुछ ऐसा ही सबवर्सिव के साथ बॉक्स पर काम करता था। Subversive पर चाल भंडार ब्राउज़र में "स्थान गुण" को संशोधित करने के लिए बाहर निकला। बहुत बहुत धन्यवाद! –

+3

सबवर्सिव प्रोटोकॉल में स्थानांतरित करने में सक्षम नहीं है। एसवीएन + एसएसएच से एचटीटीपीएस तक जाकर असंभव लगता है, एसवीएन + एसएसएच यूआरएल का निर्माण करता है और इसके लिए प्रमाण पत्र का अनुरोध करता है। उपclipse के साथ यह कैसे है? –

+3

नोट, आपको पुरानी भंडार का उपयोग करके किसी मौजूदा प्रोजेक्ट को खोलने की आवश्यकता है, क्योंकि "स्थानांतरित करें" कमांड केवल खुली परियोजनाओं को अपडेट करेगा। यह महत्वपूर्ण है, क्योंकि आपके स्थानांतरित होने के बाद, आपके द्वारा छोड़ी गई किसी भी बंद परियोजनाओं पर दोबारा स्थानांतरित करना आसान नहीं है। मैंने यह गलती की और मुझे अपनी बंद परियोजनाओं और फिर से चेकआउट को मिटा देना पड़ा। – Cerin

4

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

+0

मुझे टिप्पणी करने का विशेषाधिकार है, इसलिए मैं बताऊंगा कि स्टीफन की टिप्पणी नीचे दी गई है (और ऊपर ल्यूक के स्वीकृत उत्तर) सही हैं। –

+0

मैंने कोशिश की और यह काम नहीं किया: एसवीएन स्विटिच में एक समस्या आई है। org.tigris.subversion.javahl.ClientException: svn: ... एक ही भंडार नहीं है ... – PiTheNumber

13

"टीम/स्विच" विकल्प का उपयोग न करें, बल्कि "SVN भंडार की खोज" परिप्रेक्ष्य को बदल सकते हैं और आपकी भंडार के स्थान के गुणों में URL स्थान बदल जाते हैं। इंडिगो पर एक आकर्षण की तरह काम करता है - मेरे मामले में सबवर्सिव का उपयोग करना।

विध्वंसक का उपयोग करते समय यह एक चेतावनी दिखाएगा "संलग्न परियोजनाओं दूसरी जगह किया जाएगा क्योंकि भंडार रूट URL पहले से अलग है में प्रवेश किया एक" है, जो है तो आप सिर्फ क्या चाहते हैं। ऐसा करने से पहले उन सभी परियोजनाओं को खोलना सुनिश्चित करें जिन्हें आप स्थानांतरित करना चाहते हैं।

जब हो रही "पुनर्वास नहीं किया जा सकता क्योंकि नया URL अलग भंडार को संदर्भित करता है" तो शायद अपने भंडार जड़ है कोई ट्रंक/टैग/शाखाओं के साथ "जुड़ा परियोजनाओं को स्थानांतरित नहीं कर सकते" फ़ोल्डर, या उपफोल्डर्स में ऐसे फ़ोल्डर्स भी हैं। फिर टैबलेट उन्नत पर, विकल्प को अक्षम करने से संरचना डिटेक्शन सक्षम करने में मदद मिल सकती है।

आप मिलता है "पुनर्वास क्योंकि नया URL भंडार जो मान्य नहीं है को संदर्भित करता है नहीं किया जा सकता (गलत URL या निर्दिष्ट साख)" तो यह भी सुनिश्चित नया भंडार URL में रूट पथ बनाने की जड़ से मेल खाता है पुराना यूआरएल (दूसरे शब्दों में: सुनिश्चित करें कि ऊपर दिए गए स्क्रीनशॉट में /new/path पुराने यूआरएल के समान उपफोल्डर हैं।)

+1

यह नए ग्रहण प्रतिष्ठानों के साथ सही उत्तर है। –

0

आप सर्वर में सर्वर नामों को स्वैप करने में सक्षम हो सकते हैं; यह सभी कामकाजी प्रतियों को बदलने से आसान हो सकता है। > डिस्कनेक्ट -

10

परियोजना> टीम पर बस ठीक क्लिक करें।

तो परियोजना पर एक और राइट क्लिक -> टीम -> शेयर -> अपने नए SVN करने के लिए।

यही है!

+0

+1 बहुत मदद की! – pwagner

+2

जब मैंने यह तरीका किया, तो मैंने पूरे इतिहास को खो दिया ... – gordon613

3

आप निम्न कर सकते हैं:

जाओ एक्सप्लोरर दृश्य परियोजना के लिए -> टीम - -> सही अपनी परियोजना पर क्लिक करें> स्विच ... और अब नया URL चुनें।

यही सब!

1

मैं अपने ग्रहण से स्थानांतरित नहीं कर सका। मेरे पास एक ही भंडार के विभिन्न शाखाओं और टैगों पर अलग-अलग परियोजनाएं हैं (केवल पढ़ने के लिए ही यह अलग-अलग संस्करणों की तुलना करने के लिए है)। जब हमारे svn सर्वर का आईपी बदल गया, तो मैं TortoiseSVN के माध्यम से स्थानांतरित कर सकता था लेकिन उपclip से नहीं।

http://oldserver/svn/PROJECTNAME से http://newserver/svn/PROJECTNAME को बदलने मैं:

org.apache.subversion.javahl.CientException: Invalid operation on the current working directory 
svn: Cannot relocate 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007\base' as it is not the root of a working copy; try relocating 'E:\…\workspaces\PROJECTNAME\tags\modulename\2.4.007' instead 

ठीक है, लेकिन मैं इस पर नियंत्रण नहीं है। मैं अपनी मेजबान फ़ाइल से जुड़े एक कामकाज के साथ समाप्त हुआ।

0

ग्रहण में, विंडो -> परिप्रेक्ष्य -> ​​खुला परिप्रेक्ष्य -> ​​अन्य -> ​​एसवीएन रिपोजिटरी एक्सप्लोरिंग पर जाएं। ठीक

पर क्लिक करें, फिर उस रिपॉजिटरी पर राइट क्लिक करें जिसे आप बदलना चाहते हैं -> स्थान गुण।

यूआरएल क्लिक खत्म करें बदलें।

यही है!

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

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