2008-10-10 16 views
5

के बीच सबवर्सन और स्विचिंग मेरी स्वचालित तैनाती प्रणाली मेरी साइट गड़बड़ी के एक नवीनतम संस्करण को अद्यतन करती है। मेरी लाइव साइट ट्रंक पर इंगित करने के बजाय (जो हमेशा प्रगति संस्करण में लगभग एक काम है), मेरे पास एक टैग पर मेरी लाइव साइट पॉइंट है।टैग

उदा। मैं ट्रंक पर काम करता हूं और जब मेरा v1.0 समाप्त हो जाता है तो मैं 1.0 नामक एक टैग बनाता हूं और उस टैग का चेकआउट करता हूं जो तब मेरी लाइव साइट है। अब, मैं ट्रंक पर काम करता रहता हूं और कुछ समय बाद v2.0 होता है। मैं 2.0 नामक एक टैग बनाता हूं और मैं चाहता हूं कि मेरी लाइव साइट इस 2.0 टैग जैसा दिखें।

मैं वर्तमान लाइव साइट को मिटा सकता हूं और इस 2.0 टैग का चेकआउट कर सकता हूं। हालांकि, जो काफी आसान लगता है। मेरी साइट लगभग 1 जीबी आकार है क्योंकि इसमें सभी प्रकार के पीडीएफ दस्तावेज और वीडियो हैं। मैं सुरक्षित रूप से कह सकता हूं कि अधिकांश समय मैं अपडेट करता हूं, यह प्रतिलिपि या बग फिक्स कॉपी करेगा। इसका मतलब यह है कि शायद मेरी साइट का केवल 1% प्रति अद्यतन बदलता है। और चूंकि मेरा संस्करण नियंत्रण केवल मेरे साइट सर्वर http कनेक्शन के माध्यम से मेरे वेबसर्वर तक पहुंच योग्य है, इसका मतलब यह होगा कि मुझे उस पूरी साइट को बार-बार डाउनलोड करने की आवश्यकता है।

क्या टैग के बीच स्विच करने का कोई आसान तरीका है और उपversण केवल उन टैग के बीच अंतर को अपडेट करता है?

उत्तर

7

वास्तव में एक स्विच फ़ंक्शन है जो बस यही करता है। मैं TortiseSVN जो है एक खिड़कियों सबवर्सन के लिए शेल/जीयूआई इस्तेमाल करते हैं, तो मैं कैसे मैन्युअल रूप से यह करने के लिए से परिचित नहीं हूँ, लेकिन यह लगता है कि यह मदद करनी चाहिए:

http://svnbook.red-bean.com/en/1.1/ch04s05.html

6

आदेश लाइन: svn स्विच यूआरएल

अधिक जानकारी के लिए svn सहायता स्विच का उपयोग करें।

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

DivMod उसके तार्किक निष्कर्ष करने के लिए इस विचार लेता है, हर मुद्दे/टिकट के लिए एक शाखा बनाने काम किया जा रहा। आप read their description of their system कर सकते हैं; यह कुछ ठोस तर्क प्रदान करता है।

+0

+1 DivMod संदर्भ के लिए धन्यवाद। अपडेट किया गया लिंक: http://twistedmatrix.com/trac/wiki/UltimateQuality डेवलपमेंट सिस्टम – Paolo

0

मैं एक समान सेटअप का उपयोग करता हूं, सिवाय इसके कि मैं टैग की बजाय लाइव शाखा का उपयोग करता हूं। यह प्रतिबद्ध करने के लिए और अधिक काम है, के बाद से मैं अब लाइव शाखा में ट्रंक से परिवर्तन मर्ज करने के लिए है, लेकिन मैं तो बस एक इसे अद्यतन करने के "ऊपर svn" webroot में कर सकते हैं। अगर मैं अलग-अलग शाखाओं से चयनित परिवर्तनों को लाइव में विलय करना चाहता हूं तो यह मुझे थोड़ा बेहतर नियंत्रण भी देता है।

तो मैं इसे फिर से कर रहा था, मैं अस्थिर (या समान) का उपयोग करेंगे के बाद से शाखाओं बहुत आसान बनाए रखने के लिए कर रहे हैं, लेकिन इसके बाद के संस्करण तकनीक अब के बारे में दो साल के लिए 3 लाइव साइटों के लिए काम किया है।