स्पष्ट रूप से अस्पष्ट द्वारा छवि
Prelog
यह मार्गदर्शिका आपको सामान्य रूप से उपversण क्लाइंट का उपयोग करने की क्षमता प्रदान करेगी, और यदि आपके पास है, तो आपके * डीडी-डब्लूआरटी राउटर पर। यह गाइड सबवर्सन के लिए एक निश्चित गाइड नहीं है और सबवर्सन रेड बुक पर बहुत सारी जानकारी मिल सकती है। यह मार्गदर्शिका केवल आपको सबसे बुनियादी सवालों के जवाब देने का इरादा है।
अवलोकन
कई कारण हो सकते हैं कि आप एक सॉफ्टवेयर प्रोजेक्ट के लिए नवीनतम कोड "चेकआउट" करने में सक्षम होना चाहते हैं जो वर्जनिंग सिस्टम का उपयोग करता है। ऐसा करने से आपको नवीनतम अभी भी अप्रतिबंधित परिवर्तनों से लाभ उठाने में मदद मिलती है, परीक्षण और यहां तक कि विकास में सहायता मिलती है। इस गाइड में, हम कुछ बुनियादी एसवीएन शब्दावली पर जायेंगे, दिखाएं कि लिनक्स, विंडोज़ पर एसवीएन क्लाइंट को कैसे इंस्टॉल करें और यदि आपके पास एक ओपीकेजी सक्षम डीडी-डब्लूआरटी राउटर है। हमने एक ऐसे प्रोजेक्ट का एक उदाहरण भी शामिल किया है जिसे आप चेकआउट कर सकते हैं और कहा राउटर के लिए उपयोग कर सकते हैं।
सबवर्सन क्या है?
सबवर्सन अस्तित्व में एकमात्र संस्करण नियंत्रण प्रणाली नहीं है और विकल्पों में गिट (जिसे लिनस कर्नल संस्थापक लिनस टोरवाल्ड्स द्वारा बनाया गया था), मर्कुरियल और परफॉर्स कुछ नाम देने के लिए शामिल हैं। इसके साथ ही, यह मुफ़्त में से एक है, यह परिपक्व है और इसका व्यापक रूप से दुनिया भर में उपयोग किया जाता है।
सबवर्सन "रेड बुक" से बाहर:
Subversion is a free/open source version control system (VCS). That is, Subversion manages files and directories, and the changes made to them, over time. This allows you to recover older versions of your data or examine the history of how your data changed. In this regard, many people think of a version control system as a sort of “time machine.”
नोट: यह पुस्तक है उपversण के बारे में ज्ञान का अंतिम संग्रह और आपको सलाह दी जाती है कि इसे सभी सबवर्जन संबंधित विषयों पर संदर्भित किया जाए।
संस्करण क्या है?
वर्जनिंग एक ऐसी प्रक्रिया है जहां एक समय पर एक परियोजना की स्थिति सहेजी जाती है। सॉफ़्टवेयर विकास को प्रबंधित करने के लिए इस प्रकार की प्रक्रिया का अक्सर उपयोग किया जाता है, ताकि काम पिछले समग्र "सेव" बिंदु से क्या बदल गया है, ट्रैक करने में सक्षम होने के दौरान, परियोजना को बेहतर बनाने या सुविधाओं को जोड़ने के लिए जारी रख सकता है। विस्तृत करने के लिए, इस तरह की प्रक्रिया एक व्यक्ति के लिए उपयोगी हो सकती है, लेकिन लोगों के समूह के लिए भी उतनी ही उपयोगी हो सकती है, सभी एक ही परियोजना पर काम कर रहे हैं। इसका कारण यह है कि, आमतौर पर, एक समूह के रूप में एक परियोजना पर काम करते समय, जिम्मेदारियों का वितरण होता है और विभिन्न लोग परियोजना के विभिन्न पहलुओं को बदलते हैं। एक संस्करण तंत्र के बिना, हर किसी के नवीनतम कामकाजी परिवर्तनों पर सभी को सिंक में रखना बहुत मुश्किल होगा।
शब्दावली
रिपोजिटरी भंडार वह स्थान है जहां सभी विभिन्न स्थानों के सभी डेटा सहेजे जाते हैं। विवर्तन की दुनिया में, ग्राहक के दृष्टिकोण से, यह वह सर्वर है जो प्रोजेक्ट का डेटाबेस रखता है। इस डेटाबेस में उन सभी फाइलें हैं जो प्रोजेक्ट का हिस्सा हैं जो उनके पिछले संस्करणों के साथ हैं।
संशोधन
जब एक भंडार बनाया जाता है, तो इसे शून्य (0) की संशोधन संख्या दी जाती है। यह संख्या हर बार प्रतिबद्ध होने पर एक (1) द्वारा बढ़ी जाती है। संशोधन संख्या भंडार के लिए वैश्विक है। यही है, कि भंडार में व्यक्तिगत फ़ाइलों के लिए कोई व्यक्तिगत संशोधन संख्या नहीं है, भले ही उस विशिष्ट प्रतिबद्धता के लिए उस फ़ाइल में कुछ भी नहीं बदला गया हो।
कार्य प्रतिलिपि
एक कार्यशील प्रति एक विशेष संस्करण की एक स्थानीय प्रति (या "चेकआउट") है। आम तौर पर जब यह चेक-आउट होता है तो यह संस्करण "नवीनतम" होता है (जिसे "हेड" भी कहा जाता है), लेकिन पिछले किसी से अनुरोध किया जा सकता है। उपयोगकर्ता स्थानीय प्रतिलिपि के साथ कुछ भी कर सकता है जो वह चाहता है, ज्ञान के साथ, सबसे खराब, वे सिर्फ कोड को फिर से जांच सकते हैं। इसके अलावा, यह प्रति "निजी" है। ऐसा इसलिए है क्योंकि जब तक आप या तो अपनी प्रतिलिपि को अपडेट या प्रतिबद्ध नहीं करते हैं, तब तक आप अन्य लोगों के परिवर्तन नहीं देख पाएंगे, न ही वे आपका देखेंगे।
अद्यतन और संघर्ष हल हो रहा है
एक स्थानीय कामकाजी प्रति अद्यतन किया जा सकता है। यही है, यदि आपने एक निश्चित संस्करण "चेक आउट" किया है, और जब आप काम कर रहे थे, तो रिपॉजिटरी पर संस्करण अपडेट कर दिया गया है, आप अपनी कार्यशील प्रति को नवीनतम में अपडेट कर सकते हैं। वास्तव में, सर्वर आपको रिपॉजिटरी से मेल खाने के लिए नवीनतम संस्करण में अपडेट करने से पहले आपके परिवर्तन करने से रोक देगा। इससे पहले कि आप भंडार में परिवर्तन करने के बारे में भी सोचें, इससे पहले कि आप स्थानीय रूप से विवादों को हल करने के लिए मजबूर कर सकें।
विलय
विलय प्रक्रिया को संदर्भित करता है जिसके द्वारा, कोड को एक संस्करण में मिश्रित किया जाता है। यह हल करने वाले संघर्षों को भी लागू कर सकता है।
करता है
प्रतिबद्धता वह प्रक्रिया है जिसमें आपने अपनी स्थानीय प्रतिलिपि में किए गए परिवर्तनों को वापस भंडार में विलय कर दिया जाएगा। यह प्रक्रिया का सबसे खतरनाक हिस्सा है, क्योंकि यह यहां है कि आपके द्वारा किए गए परिवर्तन, एक ही भंडार का उपयोग करके अन्य लोगों को प्रभावित कर सकते हैं। यही कारण है कि टीम की आम सहमति के साथ और किसी भी विलय विवादों को हल करने के बाद, आमतौर पर इसे कुछ विचार करने के बाद किया जाता है।
वर्कफ़्लो
उपवर्तन का उपयोग करते समय उपयोगकर्ता के परिप्रेक्ष्य से सबसे बुनियादी वर्कफ़्लो यह है:
1. मौजूदा कोड को चेकआउट करें (आमतौर पर "हेड")। 2. परिवर्तन करें, फाइलें जोड़ें और आम तौर पर कोड विकसित करें। 3. यह सुनिश्चित करने के लिए कि आपकी स्थानीय प्रति रिपॉजिटरी पर अपडेट के साथ सिंक हो, नवीनतम संस्करण में अपडेट करें। 4. यदि आवश्यक हो तो स्थानीय रूप से संघर्ष विलय करें और हल करें। 5. भंडार में विलय परिवर्तनों को प्रतिबद्ध करें। 6. GoTo चरण 2।
चलें शुरू करें
ग्राहक स्थापित करें
उपversण का उपयोग करने में सक्षम होने के लिए, आपको क्लाइंट को अपनी मशीन पर स्थापित करने की आवश्यकता है।
लिनक्स पर
आपको केवल पैकेज स्थापित करने की आवश्यकता है। उबंटू / मिंट पर, यह इसके साथ किया जाएगा:
sudo aptitude install subversion
डीडी-डब्लूआरटी पर
यदि आपने "अपने होम राउटर (डीडी-डब्लूआरटी) पर अतिरिक्त सॉफ्टवेयर कैसे स्थापित करें" का पालन किया है, तो आप बस जारी करके svn क्लाइंट को इंस्टॉल करने में सक्षम हैं:
opkg update; opkg install subversion-client
विंडोज़ पर
जबकि हम गहरे गीक उपयोगकर्ता भूलना शुरू कर सकते हैं कि जीयूआई कभी-कभी मौजूद है, हर किसी के पास नहीं है। यदि आप किसी एसवीएन रिपोजिटरी से कनेक्ट करने के लिए विंडोज क्लाइंट का उपयोग करना चाहते हैं, तो अब तक का सबसे लोकप्रिय एक "कछुआ" है। इसका उपयोग करने के लिए, बस प्रोग्राम डाउनलोड करें और नियमित "अगली, अगली, फिनिश" फैशन में इंस्टॉल करें।
" भंडार" बनाएं
हालांकि हम इस मार्गदर्शिका में एक सबवर्जन सर्वर को सेटअप करने के तरीके के बारे में अधिक जानकारी नहीं देंगे, Google विकल्प नौसिखिया उपयोगकर्ता के लिए खराब शुरुआत नहीं है। Google रिपॉजिटरी बनाने के लिए:
-
Google Code होस्टिंग वेबसाइट पर जाएं और एक नई परियोजना बनाएं "बनाएं"।
-
अगले पृष्ठ में, आवश्यक फ़ील्ड भरें और उपversण के लिए "संस्करण नियंत्रण प्रणाली" के प्रकार का चयन करें।
नोट: प्रोजेक्ट के लिए एक चुनने से पहले, आप Google ऑफर के लाइसेंस के बीच क्या अंतर रखते हैं, इस पर नज़र रखना चाहेंगे।
- "प्रोजेक्ट बनाएं" पर क्लिक करें।
अपनी कामकाजी प्रति "चेकआउट" करें
एक बार आपकी प्रोजेक्ट बनने के बाद, आपको "स्रोत" टैब में इसे एक्सेस करने के निर्देशों को ढूंढने में सक्षम होना चाहिए।
हॉटफोर्टेक प्रोजेक्ट के बारे में एक नोट: यह प्रोजेक्ट उन सुविधाओं के लिए एक रैपर बनने के लिए है जो डीडी-डब्लूआरटी में हाउ टू टू गीक (जिसे मैं व्यक्तिगत रूप से उपयोग करता हूं) और कुछ व्यक्तिगत बदलावों में जोड़ा गया है। हालांकि इस परियोजना को हाउटोगिक पर प्रकाशित लेखों के साथ मिलकर काम करने के लिए तैयार किया गया है, यह अभी भी मेरी निजी परियोजना है। यही है, यह मेरे बफेलो राउटर (AR71xx आर्किटेक्चर), मेरे व्यक्तिगत सनकी के लिए बेहद उपयुक्त है और कभी-कभी बोररेज के लिए प्रवण होता है।
लिनक्स / डीडी-डब्लूआरटी पर
काम करने के लिए निर्देशिका बनाएं, उदाहरण के लिए डीडी-डब्लूआरटी पर, यह हो सकता है:
mkdir -p /jffs/svn; cd /jffs/svn
लिनक्स पर पूर्ण आदेश में एसवीएन कमांड, "चेकआउट" निर्देश, भंडार का पता और चेकआउट के लिए निर्देशिका भी शामिल है। एक खाली निर्देशिका बनाएँ और नीचे दिए गए आदेश को निष्पादित करें:
svn checkout https://hotfortech-dd-wrt.googlecode.com/svn/trunk/ hotfortech-dd-wrt-read-only
ध्यान दें कि ऊपर दिए गए उदाहरण में, केवल-पढ़ने वाले संस्करण की जांच की जा रही है। यदि आपने अपना खुद का भंडार बनाने का विकल्प चुना है, तो आपको httpS लिंक का उपयोग करने की आवश्यकता होगी।
विंडोज़ पर
चूंकि कछुआ एक खोल विस्तार है, इसलिए इसका उपयोग करने के लिए आपको Windows फ़ाइल एक्सप्लोरर के संदर्भ मेनू (राइट-क्लिक) का उपयोग करने की आवश्यकता होगी। वास्तव में, यदि आप इसे स्टार्ट मेनू से आमंत्रित करने का प्रयास करते हैं, तो आप पाएंगे:
- एक खाली निर्देशिका बनाएँ।
- संदर्भ मेनू लाने के लिए इसमें राइट क्लिक करें।
-
"एसवीएन चेकआउट" का चयन करें:
-
प्रोजेक्ट के लिए लिंक कॉपी और पेस्ट करें (यदि आपके पास एक है) "यूआरएल" टेक्स्टबॉक्स में:
-
आपके प्रोजेक्ट के आकार के आधार पर इसमें कुछ समय लग सकता है, लेकिन जब "चेकआउट" पूरा हो गया है तो आपको कुछ ऐसा दिखना चाहिए:
- आप विकास शुरू कर सकते हैं।
अपनी कामकाजी प्रति "अपडेट करें" और "मर्ज करें" यदि आप सहकर्मियों के साथ कोड पर काम कर रहे हैं, या आप स्वयं कई स्थानों से कोड अपडेट कर रहे हैं (यानी लैपटॉप, डेस्कटॉप या यहां तक कि राउटर), तो आपको नवीनतम परिवर्तन करने से पहले अपनी कार्यशील प्रति को अपडेट करना होगा।
लिनक्स / डीडी-डब्लूआरटी पर
इन POSIX सिस्टम पर ऐसा करने का आदेश बस है:
svn up
विंडोज़ पर
-
कार्य निर्देशिका में राइट क्लिक करें और "एसवीएन अपडेट" का चयन करें:
- यदि आपको संघर्ष का सामना करना पड़ता है, तो स्क्रीन निर्देशों का पालन करने का प्रयास करें और अपने फैसले का उपयोग करें कि उनके बारे में क्या करना है।
अपने परिवर्तनों को "प्रतिबद्ध" करें यही है, आपको अपने परिवर्तनों के साथ भंडार को अद्यतन करने के लिए संघर्ष मुक्त और तैयार होना चाहिए। यहां ध्यान देने योग्य एक बिंदु यह है कि प्रतिबद्धता के लिए "लॉग" संदेश जोड़ने का एक सामान्य अभ्यास है, ताकि आसानी से याद किया जा सके कि परिवर्तन क्यों किए गए थे। असल में, Google की रिपोजिटरी इसे करने के लिए अनिवार्य पूर्व-आवश्यकता बनाता है।
लिनक्स / डीडी-डब्लूआरटी पर
यह हॉटफोर्टेक प्रोजेक्ट में किए गए प्रतिबद्धता का एक उदाहरण है जो इसे संस्करण 1 9 तक बढ़ा दिया गया है:
svn commit -m “updated to reflect new ant-ads pack link”
विंडोज़ पर
-
कार्य निर्देशिका में राइट क्लिक करें और "एसवीएन कमिट" चुनें:
-
आपको एक खिड़की से बधाई दी जानी चाहिए जो आपको एक लॉग संदेश नोट करने में सक्षम बनाता है:
- ठीक दबाएं और पासवर्ड के लिए संकेत मिलने पर, Google जेनरेट किया गया पासवर्ड दें।
-
यदि प्रतिबद्धता सफल हुई, तो आपको कुछ ऐसा दिखना चाहिए:
- यही वह है, आप एक बॉस की तरह प्रतिबद्ध करने में सक्षम होना चाहिए।
अंतिम टिप्पणी यह आपको शुरू करने के लिए पर्याप्त होना चाहिए। एसवीएन के उपयोग, विकल्प और चेतावनियों पर गहरा और बेहतर समझ पाने के लिए आपको एसवीएन संदर्भ पुस्तकों को पढ़ने की सलाह दी जाती है। साथ ही, हम आपको (दोबारा) याद दिलाते हैं कि उपversण एकमात्र संस्करण नियंत्रण प्रणाली नहीं है और जीआईटी (जिसे लिनस कर्नेल संस्थापक लिनस टोरवाल्ड्स द्वारा बनाया गया था) हाल के वर्षों में लोकप्रियता प्राप्त कर रहा है।
यदि आप अपने राउटर पर हॉटफोर्टेक प्रोजेक्ट से "running-config.sh" चलाने का विकल्प चुनेंगे, तो आप पाएंगे कि यह वर्तमान में आपके लिए इंस्टॉल होगा: एंटी-विज्ञापन-पैक, ओपक गीक-इनिट स्क्रिप्ट, साथ ही साथ पूर्ण जीएनयू "एलएस", "कम", "बाश" जैसी चीजें।
/jffs/svn/hotfortech-dd-wrt/running-conf.sh
अधिक सुविधाएं लंबित हैं और भविष्य में जोड़े जाएंगी।
सिस्टम प्रशासक कोडिंग से बाहर निकल जाएंगे।