2010-02-06 10 views
8

मैं अपनी कामकाजी परियोजनाओं के लिए Mercurial का मूल्यांकन करना चाहता हूं। लेकिन मेरी अधिकांश परियोजनाएं svn की उपस्थिति पर बहुत अधिक भरोसा करती हैं: बाहरी-जैसे समर्थन। मैंने StackOverflow पर खोज की है और Mercurial में इसी समर्थन के लिए googled। सभी मैंने पाया मर्क्युरियल 1.3 में subrepo सुविधा जोड़ी है, लेकिन the page for this feature ने कहा:क्या उत्पादन के उपयोग के लिए Mercurial 1.4.x में subprepos सुविधा है?

subrepos मर्क्युरियल 1.3 के लिए एक प्रायोगिक सुविधा है। तो मिशन महत्वपूर्ण भंडारों पर ऐसा मत करो!

मैं कुछ अस्थिर उपयोग नहीं करना चाहता।

क्या कोई इस सुविधा की वास्तविक स्थिति पर कुछ प्रकाश डाल सकता है, और इसे पॉलिशिंग/परिष्करण की योजनाएं और जब इसे "स्थिर" कहा जाएगा और महत्वपूर्ण महत्वपूर्ण भंडारों के लिए तैयार किया जाएगा?

+0

मैंने विकी को स्थिति के बारे में और स्पष्ट होने के लिए अद्यतन किया है, मुझे आशा है कि इससे मदद मिलती है। –

उत्तर

6

#mercurial आईआरसी चैनल में शब्द यह है कि subrepos काम करते रहेंगे क्योंकि वे करते हैं, और समर्थन बढ़ेगा। उदाहरण के लिए वर्तमान में 'एचजी स्थिति' कमांड subrepo जागरूक नहीं है - यह काम करता है, यह सिर्फ रिकर्स नहीं करता है, लेकिन भविष्य में यह होगा। हालांकि, वर्तमान व्यवहार, fileformats (.hgsub और .hgsubstate) केवल पिछड़े संगत तरीकों से बदला जाएगा।

तो, आगे बढ़ें और अब उस पर भरोसा करें, और बेहतर होने के लिए तत्पर हैं।

पीएस Mercurial 1.4.2 के रूप में subrepos अब subversion repos हो सकता है, तो आप एक mercurial माता पिता और एक svn बच्चे का उपयोग कर सकते हैं।

+0

तो इस सुविधा के लिए कोई स्पष्ट रोडमैप नहीं है? कहें, एचजी 1.6 (या 1.7) में यह लगभग पूरा होना चाहिए, या कुछ समान होना चाहिए? – bialix

+3

यह अब उपयोग करने के लिए पर्याप्त है। कुछ वर्कफ़्लोज़ थोड़ा कम बोझिल आगे बढ़ेंगे, लेकिन अब यह हो गया है। –

1

मुझे अब तक मेरे (प्रकाश) उपयोग में सुविधा के साथ शुभकामनाएं मिली हैं।

  1. एक भी hg pull कमांड के साथ कोई संबंध नहीं खजाने का एक वृक्ष का बैक अप लिया: यह काम में दो स्थानों पर आ रहा है।
  2. अपनी निर्भरताओं के विशिष्ट संस्करणों के साथ एक परियोजना को एक साथ जोड़ना, ताकि एक hg clone बिल्ड करने योग्य स्रोत कोड प्राप्त हो सके। यह ठेठ svn:externals उपयोग के करीब है। इसके बाद के संस्करण, आप एक बार में सभी subrepos प्रतिबद्ध करने के लिए है

    1. # 1 मामले में:

    यहाँ सीमाओं मैं अब तक इसके साथ देखा है के एक जोड़े हैं। यह कभी-कभार परेशान होता है, क्योंकि मर्कुरियल (किसी भी डीवीसीएस की तरह) लगातार — को प्रोत्साहित करता है, इसलिए अधिकांश रिपोज़ शुरू करने के लिए अपूर्ण स्थिति में बैठे नहीं रहते हैं। clone, push/pull, update/commit, और शायद दूसरों के एक जोड़े:

  3. केवल सबसे बुनियादी मर्क्युरियल आदेशों subrepo-जानते हैं।
  4. विस्तार लेखकों को subrepos के साथ भंडार के खिलाफ अपने एक्सटेंशन का परीक्षण करने के लिए समय की आवश्यकता होगी।

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

+0

आपकी पहली सूची में मेरा उपयोग केस # 2 है। – bialix

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