मैं अपनी कंपनी के लिए svn externals में देख रहा हूं, और ऐसा लगता है कि यह हमारे लिए उपयोग करने के लिए एक अच्छी सुविधा होगी। हमारे पास कई उत्पाद हैं जो अक्सर साझा घटकों का संदर्भ देते हैं, लेकिन कभी-कभी पुराने संस्करणों में और पीछे से अलग ब्रांडेड कोडबेस में गिरने की बुरी आदत भी होती है।एसवीएन बाहरीों को समझने में सहायता
मैंने अब काम करने के बारे में एक सभ्य बिट पढ़ा है, और मुझे लगता है कि मैं अवधारणा को ठीक समझता हूं। मैं 100% निश्चित नहीं हूं कि एकाधिक रिपॉजिटरीज के एक साथ लिंक कितने अलग हैं।
मान लें कि मेरे पास एक उत्पाद और लाइब्रेरी है। उत्पाद लाइब्रेरी के खिलाफ बनाया गया है, इसलिए इसके रेपो में एक svn: बाह्य गुण है जो लाइब्रेरी स्रोत से लिंक है। Svn में एक विशिष्ट संस्करण की अनुपस्थिति में: बाह्य परिभाषा, जब मैं उत्पाद के सिर की जांच करता हूं तो मुझे लाइब्रेरी का सिर भी मिलता है।
मैं लाइब्रेरी के नवीनतम संस्करण का संदर्भ देते समय, वर्षों में उत्पाद के कई संस्करणों का निर्माण करता हूं। एक दिन हालांकि मुझे सही संशोधन का चयन करके वापस जाना होगा और उत्पाद संस्करण 1 को देखना होगा। जब मैं ऐसा करता हूं, लाइब्रेरी का कौन सा संस्करण मुझे मिलता है, हेड या संशोधन जो मैंने पहली बार बनाया था जब मैंने पहली बार बनाया था?
उम्मीद है कि मैं एक अच्छा डेवलपर रहा हूं और रिलीज किए गए उत्पाद के हर संस्करण को टैग करने के लिए याद किया गया है। जब मैं अपने टैग 'उत्पाद-1-0-0' को भंडार में लागू करता हूं, क्या लाइब्रेरी भंडार का सही संशोधन भी टैग किया जाता है? यदि मैं बाद में 'उत्पाद-1-0-0' टैग के आधार पर उत्पाद की जांच करता हूं, तो क्या लाइब्रेरी का सही संशोधन इसके साथ चेक आउट हो जाता है?
svn के लिए: बाहरी, आपको लगभग हमेशा अपने revs peg करना चाहिए। अन्यथा यदि आप बाहरी संदर्भित चीज़ में कुछ बदलते हैं, तो आप अपनी परियोजना को अपने पूर्व राज्य में वापस नहीं ला सकते हैं। इसके अलावा, आप इसे जानने के बिना सामान तोड़ने का जोखिम लेते हैं। Http://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-dug-externals.html देखें, "स्पष्ट संशोधन संख्या का उपयोग करें"। –