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

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

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

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

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

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

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

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

यह भी देखें

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