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

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

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

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

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

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

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

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

यह भी देखें

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