2011-12-07 5 views
11

मुझे आश्चर्य है कि "टीम के अनुकूल" तरीके से बाइनरी निर्भरताओं को रखने का सबसे अच्छा तरीका क्या है।संस्करण नियंत्रण प्रणाली में बाइनरी निर्भरता रखने का आपका तरीका क्या है?

हमारे पास क्रॉस-प्लेटफ़ॉर्म एप्लिकेशन के लिए कई निर्भरताएं हैं। इसमें 32/64 * लिनक्स/विंडोज/मैक संस्करणों में वाणिज्यिक लाइब्रेरी और गैर-मानक में संकलित कुछ खुले स्रोत पुस्तकालय शामिल हैं, वातावरण को पुन: उत्पन्न करने के लिए बहुत छोटा नहीं है। इसके अलावा हमारे पास ग्राफिकल संपत्तियां हैं जो कभी-कभी बड़ी होती हैं (250 एमबी काफी आम है)।

पुस्तकालयों को अद्यतन करने की आवश्यकता है, कभी-कभी पुनः संकलित आदि। संपत्तियां भी अपडेट की जाती हैं, और हमें उन्हें कोड के साथ समन्वयित करने की आवश्यकता होती है।

मैं एक बार-क्लिक अपडेट और सिस्टम बनाने के करीब कुछ हासिल करना चाहता हूं।

मैंने एसवीएन में सबकुछ रखने के साथ प्रयास किया, लेकिन यह डेटा को संशोधित नहीं होने के बावजूद लंबे समय तक अपडेट की ओर जाता है।

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

लेकिन शायद समाधान का उपयोग करने के लिए तैयार है? क्या आपके पास इसका कोई अनुभव है?

+2

क्या आपने [आर्टिफैक्टरी] (http://www.jfrog.com/products.php) या [नेक्सस] (http://nexus.sonatype.org/) जैसे आर्टिफैक्ट रिपोजिटरी का उपयोग करने में देखा है? – atodd

उत्तर

2

सबमोड्यूल इसके लिए बहुत अच्छा काम करते हैं। एक प्रोजेक्ट पर, मेरे पास unfuddle.com और सभी डीएलएल इत्यादि में निजी रूप से होस्ट किए गए एप्लिकेशन के लिए कोड था (बड़ी चीजें) जो सार्वजनिक डोमेन में थी, वैसे भी, जिथब में रखा गया था। यह हमारे निजी भंडारण का बहुत कम उपयोग करके समाप्त हो गया।

3

Mercurial 2.0 के साथ, आप ऐसी फ़ाइलों को प्रबंधित करने के लिए largefiles extension का उपयोग कर सकते हैं। उन्हें सामान्य इतिहास के बाहर रखा जाएगा और मांग पर डाउनलोड किया जाएगा। एक्सटेंशन में अभी भी कुछ तेज धार है, इसलिए सुनिश्चित करें कि आप कम से कम संस्करण 2.0.1 का उपयोग करें।

कहा जा रहा है कि, मैं इसके लिए एक समर्पित उपकरण का उपयोग करना पसंद करता हूं - क्योंकि महाकाव्य प्रबंधन वास्तव में स्रोत नियंत्रण प्रणाली के बाहर किया जाता है।

संबंधित मुद्दे