Repository

Software Development में, एक repository एक केंद्रीय फ़ाइल भंडारण स्थान है। इसका उपयोग version control सिस्टम द्वारा फाइलों के कई संस्करणों को store करने के लिए किया जाता है। जबकि एक एकल उपयोगकर्ता के लिए एक स्थानीय मशीन पर एक रिपॉजिटरी को कॉन्फ़िगर किया जा सकता है, इसे अक्सर एक server पर संग्रहीत किया जाता है, जिसे कई उपयोगकर्ताओं द्वारा एक्सेस किया जा सकता है।

एक repository में तीन प्राथमिक तत्व होते हैं – एक trunk, branches और tags । ट्रंक में एक software project का वर्तमान संस्करण है। इसमें एकाधिक source code फ़ाइलें, साथ ही प्रोग्राम द्वारा उपयोग किए जाने वाले अन्य संसाधन शामिल हो सकते हैं। प्रोग्राम के नए संस्करणों को संग्रहीत करने के लिए शाखाओं का उपयोग किया जाता है। एक डेवलपर जब भी कार्यक्रम में पर्याप्त संशोधन करता है तो एक नई शाखा बना सकता है। यदि किसी शाखा में अवांछित परिवर्तन होते हैं, तो उसे बंद किया जा सकता है। अन्यथा, इसे नवीनतम संस्करण के रूप में वापस ट्रंक में विलय किया जा सकता है। टैग का उपयोग किसी प्रोजेक्ट के संस्करणों को सहेजने के लिए किया जाता है, लेकिन सक्रिय विकास के लिए नहीं होते हैं। उदाहरण के लिए, एक डेवलपर हर बार सॉफ़्टवेयर का नया संस्करण जारी होने पर “रिलीज़ टैग” बना सकता है।

एक रिपॉजिटरी प्रोग्रामर को विकास फाइलों को स्टोर करने के लिए एक संरचित तरीका प्रदान करती है। यह किसी भी प्रकार के सॉफ़्टवेयर विकास के लिए सहायक हो सकता है, लेकिन यह बड़ी विकास परियोजनाओं के लिए विशेष रूप से महत्वपूर्ण है। रिपोजिटरी में परिवर्तन करने से, यदि हाल ही के अपडेट में bug या अन्य समस्याएं होती हैं, तो डेवलपर्स प्रोग्राम के पिछले संस्करण में जल्दी से वापस आ सकते हैं। कई संस्करण नियंत्रण प्रणालियाँ रिपॉजिटरी में सहेजी गई फ़ाइलों के विभिन्न संस्करणों की साथ-साथ तुलना का भी समर्थन करती हैं, जो स्रोत कोड को डीबग करने में सहायक हो सकती हैं। इसके अतिरिक्त, जब एक सर्वर पर भंडार संग्रहीत किया जाता है, तो उपयोगकर्ता संपादन के लिए फाइलों को “check out” कर सकते हैं, जो फाइलों को एक समय में एक से अधिक उपयोगकर्ता द्वारा संपादित करने से रोकता है।