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

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

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

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

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

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

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

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

यह भी देखें

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