2012-02-22 30 views
6

मैं अपने स्रोत कोड को नियंत्रित करने वाले संस्करण के लिए Mercurial का उपयोग करता हूं। लेकिन कुछ लोग अन्य संस्करण नियंत्रण प्रणाली पसंद करते हैं (जैसे गिट, बाज़ार, एसवीएन, सीवीएस)।एकाधिक स्रोत कोड भंडार

मैं जानना चाहता हूं, क्या एक बार में कई प्रणालियों के तहत एक भंडार स्टोर करना संभव है, ताकि लोग जो भी भंडार चाहते हैं उसका उपयोग कर सकें?

+2

जो लोग आसानी से अपने रेपो से खींच सकते हैं, फिर उनकी स्थानीय प्रतिलिपि में 'डार्क्स इनिट' या 'गिट इनिट' या 'एसवीएन आयात' करें, यदि वे चाहें तो। आप शायद ही कभी हर किसी की वरीयताओं को सर्वर-साइड को पूरा कर सकते हैं, और सिंक में अपने मास्टर रिपोज़ को रखने से परेशान और संसाधन-गहन लगता है। – tripleee

उत्तर

4

गिटहब ने Mercurial के लिए hg-git एक्सटेंशन विकसित किया। यह एक्सटेंशन आपको मर्क्यूरियल का उपयोग करके गिट रिपॉजिटरीज से क्लोन करने की अनुमति देता है, और फिर वापस धक्का देता है। इसलिए यदि आपको केंद्रीय गिट रिपोजिटरी रखने में कोई फर्क नहीं पड़ता है, तो निश्चित रूप से दोनों गिट और मर्कुरियल का उपयोग करके इसे एक्सेस करना संभव होगा।

हालांकि एक अन्य उत्तर ने बताया है कि आपके द्वारा उल्लेखित अधिकांश वीसीएस उपकरण उपयोग के समान हैं, इसलिए यह संदिग्ध है कि क्या न्यूनतम प्रयासों की तुलना में लोगों को जो कुछ भी चाहिए, उसका उपयोग करने की अनुमति देने के प्रयास में लायक होगा एक नई प्रणाली सीखने में शामिल है।

3

मुझे Mercurial के बारे में पता नहीं है लेकिन AccuRev के साथ AccuRev और Git में अपना स्रोत कोड बनाए रखना संभव है। प्लगइन कांडो AccuRev से गिट में प्रतिकृति का ख्याल रखता है और इसके विपरीत। अधिक जानकारी के लिए http://www.accurev.com/kando

2

आसानी से नहीं देखें - आपको प्रत्येक को हुक और ईवेंट स्क्रिप्ट के माध्यम से, दूसरे के साथ समन्वयित रखना होगा। उदाहरण के लिए, सबवर्सन से चेकआउट करने के लिए, उस फ़ोल्डर में hg init करें, और अस्थायी रूप से Mercurial का उपयोग करके काम करें, और अंत में जब आप खुश हों तो सबवर्सन पर वापस जाएं (सुनिश्चित करें कि आप जोड़ और प्रतिबद्ध नहीं हैं और .hg फ़ाइलें) । डेवलपर्स की संख्या के आधार पर आप विलय से विवादों के साथ सभी प्रकार की समस्याओं में आ सकते हैं यदि दो डेवलपर्स अलग-अलग संस्करण नियंत्रण प्रणालियों के तहत एक ही फ़ाइल में प्रतिबद्ध हैं।

चूंकि सबवर्जन (और सीवीएस) केंद्रीकृत संस्करण नियंत्रण प्रणाली हैं, और गिट, बाज़ार और मर्कुरियल सभी वितरित किए जाते हैं, उन्हें सिंक में रखते हुए प्रत्येक के लिए एक मास्टर कॉपी चुनने की आवश्यकता होती है।

आपके द्वारा उल्लिखित वीसीएस उपकरण कमांड लाइन पर काफी समान हैं (हालांकि सीवीएस वास्तव में और अधिक उपयोग नहीं किया जाना चाहिए), इसलिए अन्य उपयोगकर्ताओं के लिए सीखने की अवस्था विशेष रूप से खड़ी नहीं है।

4

यह संभव पर

एक बार

मुझे लगता है कि के रूप में एक भंडार एक विशिष्ट अनुप्रयोग से जुड़ा हुआ प्रारूप है जवाब नहीं है, कई सिस्टम के तहत एक भंडार स्टोर करने के लिए है।

पर करने के लिए सबसे अच्छी बात यह है कि अन्य डेवलपर को अपनी आवश्यकताओं के अनुरूप क्लाइंट एप्लिकेशन का उपयोग करने के लिए अधिकृत किया गया है, यदि यह आपकी कार्य प्रक्रिया के अनुकूल है।

उदाहरण: आपके पास मौजूदा एसवीएन रेपो और एक अन्य गिट रेपो है। एक डेवलपर के रूप में, मैं केवल बीजेडआर का उपयोग करना चाहता हूं। मैं bzr-svn या bzr-git प्लगइन का उपयोग एसवीएन या गिट से शाखा में कर सकता हूं, स्थानीय स्तर पर बीजेडआर (और बीजेडआर सुविधाओं से लाभ) के साथ प्रतिबद्ध है, और फिर परिणाम को एसवीएन या गिट में वापस धक्का दें।

1

यह निर्भर करता है कि रूपांतरण उपकरण चुनना आसान है और उदा। Git: Git-SVN आधिकारिक तौर पर समर्थित है, यह डेबियन में स्थापित करने के लिए निर्माण में Windows संस्करण और आसान है/ubuntu देब के साथ पैकेज

एचजी:
https://www.mercurial-scm.org/wiki/WorkingWithSubversion
https://www.mercurial-scm.org/wiki/RepositoryConversion#Subversion कन्वर्टर्स चुनने के लिए कई प्रकार के साथ से, और उनमें से कई कुछ सेटअप की आवश्यकता है

BzR:
BzR-SVN Windows संस्करण में अंतर्निहित है और इसे आधिकारिक तौर पर यहाँ समर्थित है
विवरण: http://wiki.bazaar.canonical.com/ForeignBranches/Subversion