2010-05-01 18 views
13

मैं Mercurial के लिए नया हूं और यह पता लगाने की कोशिश कर रहा हूं कि यह एसवीएन को प्रतिस्थापित कर सकता है या नहीं। जिनके साथ मैं काम करता हूं, उन्होंने एसवीएन, सीवीएस और वीएसएस (कंपकंपी) का उपयोग किया है, इसलिए यह काफी बड़ा बदलाव हो सकता है। मेरी विलय और शाखा क्षमता के बारे में पढ़ने के बाद मुझे बहुत दिलचस्पी है, लेकिन कुछ आरक्षण हैं।Mercurial के लिए केंद्रीय भंडार/एकाधिक केंद्रीय भंडार को सबसे अच्छी तरह से कॉन्फ़िगर कैसे करें?

हम वर्तमान में एसवीएन पर हैं, और एक केंद्रीय भंडार है। मेरे पढ़ने से, ऐसा लगता है कि Mercurial का उपयोग करते समय सभी परियोजनाओं के लिए कोई केंद्रीय भंडार नहीं है। नोट: हम प्रत्येक प्रोजेक्ट को कोड का एक अलग लॉजिकल सेट या विजुअल स्टूडियो सॉल्यूशन पर विचार करते हैं। यह अपने आप पर चलता है।

हमारे पास एक केंद्रीय एसवीएन भंडार में लगभग 60 अलग-अलग परियोजनाएं हैं। Mercurial के बारे में पढ़ने के बाद मुझे लगता है कि मुझे सर्वर पर इन परियोजनाओं में से प्रत्येक के लिए 60 अलग केंद्रीय भंडार बनाना है। प्रश्न # 1: क्या मुझे प्रत्येक प्रोजेक्ट के लिए एक एकल संग्रह बनाना चाहिए?

यदि हां, तो मैं 60 अलग-अलग केंद्रीय Mercurial सर्वरों को कॉन्फ़िगर और होस्ट करने के बारे में चिंतित हूं। मैंने सोचना शुरू कर दिया कि मैं एक फाइल को कॉन्फ़िगर कर सकता हूं, लेकिन ऐसा लगता है जैसे प्रत्येक संग्रह को "सी: ... \ MyRepository.hg \ hgrc" फ़ाइल (विंडोज़ इंस्टॉल) का उपयोग करके व्यक्तिगत रूप से कॉन्फ़िगर किया जाना चाहिए। ऐसा लगता है कि मुझे 60 सर्वर (> एचजी सेवा) चलाने की ज़रूरत है, मैं अलग-अलग बंदरगाहों पर विचार करूंगा। प्रश्न # 2: यदि प्रश्न 1 का उत्तर हाँ है, तो प्रत्येक प्रोजेक्ट के लिए एक केंद्रीय भंडार होना चाहिए, फिर लोगों ने कितने रिपॉजिटरीज़ प्रबंधित किए हैं?

आखिरकार, मैंने एक एसवीएन रिपोजिटरी से अलग इतिहास और बदलावों को अलग-अलग Mercurial भंडारों के समूह में स्थानांतरित करने में नहीं देखा है, लेकिन किसी ने यह किया है (या यदि यह भी संभव है) से किसी भी टिप्पणी की सराहना करता है।

उत्तर

11

Mercurial "केंद्रीय भंडार" का समर्थन करता है, लेकिन यह उन्हें फिएट के बजाय सम्मेलन द्वारा करता है।

आपको सभी साठ भंडार चलाने के लिए केवल एक ही सर्वर चलाने की आवश्यकता है, और आप इसके लिए hg serve का उपयोग नहीं करेंगे। इसके बजाय आप among the publishing options से उत्पादन-गुणवत्ता विधियों में से एक चुनते हैं। संभावना है कि आप अपनी प्राथमिकताओं के आधार पर अपाचे, निजिनक्स या आईआईएस के पीछे hgwebdir चलाएंगे।

एक बार यह चलने के बाद आप hg init या hg clone के साथ अपनी रिपॉजिटरी निर्देशिका में नए प्रतिनिधि बना सकते हैं। पिछले नियोक्ता में हमारे पास पांच उत्पादों थे, प्रत्येक के लिए "केंद्रीय" भंडार, और विभिन्न टीमों और सुविधाओं के लिए प्रत्येक के दस से बीस क्लोन, सभी एक ही सर्वर में चल रहे थे। केंद्रीय रेपो निर्धारित करता है कि "आधिकारिक क्या है" लेकिन आपको हर समय उभरती अनौपचारिक सुविधाओं के लिए अचूक रेपो मिलेंगे।

hg serve जल्दी में कुछ बदलावों को बंद करने के लिए दो देवताओं के लिए है, लेकिन प्रकाशित रेपो को थोड़ा और मचान की आवश्यकता है।

6

आप प्रति परियोजना 1 केंद्रीय रेपो बनायेंगे। अगर मैं आप थे, तो मैं Kiln के माध्यम से होस्टिंग के बारे में सोचूंगा। यह असीमित भंडारों और भंडारण के साथ Mercurial के आसपास बहुत अच्छी समीक्षा उपकरण और एक अच्छा वेब इंटरफ़ेस लपेटता है। वे आपके लिए होस्टिंग और बैक अप के सभी गंदे बिट्स का ख्याल रखते हैं। मैं अत्यधिक Joel's Mercurial tutorial की भी सिफारिश करता हूं।

0

सबसे सरल तरीके से, आपको 60 केंद्रीय "भंडार" की आवश्यकता होगी, जिनमें से सभी को एक सामग्री/वेब सर्वर का उपयोग करके परोसा जा सकता है। प्रत्येक भंडार को सर्वर कंटेनर की जड़ से पथ के साथ एक निर्देशिका के रूप में माना जा सकता है।

bitbucket या github के बारे में सोचें।वे एक सर्वर (या सबसे अधिक संभावना एक सर्वर फार्म) के तहत हजारों रिपॉजिटरीज की सेवा करते हैं, फिर भी वे एक-दूसरे से स्वतंत्र हैं, एसवीएन के विपरीत जहां सबकुछ एक विशाल भंडार के तहत है और संशोधन में वृद्धि हुई है।

2

यदि आप कुछ होस्ट की तलाश में हैं, तो http://rhodecode.org पर एक नज़र डालें, यह शुद्ध एचजीवेब से कहीं अधिक शक्तिशाली है। यह एक छोटे से बिटबकेट की तरह है जो स्वयं होस्ट किया गया है।

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