रिपोजिटरी (वर्शन कण्ट्रोल)

वर्शन कण्ट्रोल सिस्टम में, रिपोजिटरी एक डेटा स्ट्रक्चर है जो फ़ाइलों या डायरेक्टरी स्ट्रक्चर के एक सेट के लिए मेटा डेटा  सेटीत करती है। इस पर निर्भर करते हुए कि उपयोग में आने वाला वर्शन कण्ट्रोल सिस्टम वितरित है जैसे गिट या मर्क्यूरियल या सेंट्रलाइज्ड जैसे सबवर्जन, सीवीएस(CVS) या परफोरस रिपोजिटरी में जानकारी के पूरे सेट को प्रत्येक उपयोगकर्ता के सिस्टम पर प्रतिरूप किया जा सकता है या एक ही सर्वर (कंप्यूटिंग) पर बनाए रखा जा सकता है। कुछ मेटाडेटा जो रिपोजिटरी में सम्मिलित होते हैं, उनमें अन्य चीजों के अलावा रिपोजिटरी में परिवर्तनों का एक ऐतिहासिक रिकॉर्ड, प्रतिबद्ध वस्तुओं का एक सेट और प्रतिबद्ध वस्तुओं के संदर्भों का एक सेट सम्मिलित होता है जिन्हें हेड कहा जाता है।

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

अवलोकन
सॉफ़्टवेयर इंजीनियरिंग में, फ़ाइलों के एक सेट के वर्शनों पर नज़र रखने के लिए एक वर्शन कण्ट्रोल सिस्टम का उपयोग किया जाता है, सामान्यतौर पर कई डेवलपर को एक परियोजना पर सहयोग करने की अनुमति देने के लिए रिपोजिटरी परियोजना में फ़ाइलों का ट्रैक रखती है, जिसे एक ग्राफ़ के रूप में दर्शाया जाता है।

एक वितरित वर्शन कण्ट्रोल सिस्टम सेंट्रल और ब्रांच रिपोजिटरी से बनी होती है। सर्वर पर एक सेंट्रल स्टोर उपस्थित है, इसमें परिवर्तन करने के लिए एक डेवलपर पहले एक ब्रांच स्टोर पर काम करता है और पूर्व में परिवर्तन करने के लिए आगे बढ़ता है।

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

स्टेटिक वेब होस्टिंग
जबकि फोर्ज का उपयोग मुख्य रूप से वर्शन कण्ट्रोल संचालन करने के लिए किया जाता है, कुछ फोर्ज उपयोगकर्ताओं को इसके सोर्स कोड (जैसे एचटीएमएल(HTML) और जावास्क्रिप्ट लेकिन PHP नहीं) को रिपोजिटरी में अपलोड करके स्थैतिक वेब पेज होस्ट करने की अनुमति देते हैं। यह सामान्यतौर पर किसी सॉफ़्टवेयर परियोजना के लिए डॉक्यूमेंटेशन या लैंडिंग पेज प्रदान करने के लिए किया जाता है।

वेब डॉक्यूमेंट को अपलोड करने के स्थान के रूप में रिपोजिटरी का उपयोग वर्शन कण्ट्रोल को एकीकृत करने की अनुमति देता है और इसके अतिरिक्त त्वरित पुनरावृत्ति की अनुमति देता है क्योंकि परिवर्तनों को एफ़टीपी जैसे प्रोटोकॉल के माध्यम से फ़ाइल अपलोड करने के बजाय वर्शन कण्ट्रोल सिस्टम के माध्यम से आगे बढ़ाया जाता है। इस प्रकार की सेवा के उदाहरणों में गिटहब(GitHub) पेज और गिटलैब(GitLab) पेज सम्मिलित हैं।

यह भी देखें

 * सैंडबॉक्स (सॉफ़्टवेयर विकास)
 * सॉफ़्टवेयर रिपोजिटरी
 * कोडबेस
 * गिट
 * फोर्ज (सॉफ्टवेयर)
 * स्रोत-कोड-होस्टिंग सुविधाओं की तुलना