2010-05-20 7 views
8

क्या एक एचजी रेपो मेरे स्थानीय फाइल सिस्टम पर किसी अन्य एचजी रेपो के अंदर रह सकता है?

screenshot of one repo inside another

मैं 'सैंडबॉक्स' के लिए bitbucket विकि नीचे खींच रहा हूँ, और मुझे पता है कि इस repos/sandbox/wiki या repos/sandbox-wiki में रखा जाना चाहिए अगर चाहते हैं।क्या एक मर्कुरियल रिपोजिटरी किसी अन्य Mercurial भंडार के अंदर रह सकता है?

क्या पूर्व ठीक है?

संपादित करें: Subrepository देखें।

उत्तर

5

हां और नहीं। निर्भर करता है कि आपकी क्या करने की इच्छा है। आप रेपो 'सैंडबॉक्स/विकी' बना सकते हैं लेकिन इस आंतरिक रेपो में फाइलों को बाहरी 'सैंडबॉक्स' रेपो (@ जेसन सही है) में नहीं किया जाएगा। यदि आप नहीं चाहते हैं, कोई समस्या नहीं है।

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

sandox जड़ Directoy से

:

hg add wiki/myfile 
    abort: path 'wiki/myfile' is inside repo 'wiki' 
7

संक्षिप्त उत्तर हाँ है, लेकिन मैं कल्पना नहीं कर सकता कि आप क्यों चाहेंगे।

अपने उदाहरण में, मुझे लगता है कि आप के साथ जाना चाहिए: Additionaly

repos/sandbox-wiki 

[संपादित करें]:

Yo Dowg, I herd you like repositories. 

So we put a repo in your repo so you can version while you version 

:-)

-1

आप स्थापित करने की आवश्यकता होगी विकी को बाहर करने के लिए सैंडबॉक्स में .hgignore फ़ाइल को ऊपर रखें क्योंकि Mercurial मानता है कि यह सभी वंशजों के लिए ज़िम्मेदार है। यह संभवतः अधिक उपयोगकर्ता भ्रम उत्पन्न करेगा जो इसके लायक है।

+3

? मैं इस धारणा के तहत हूं कि Mercurial स्वचालित रूप से इसके मूल पदानुक्रम के नीचे अन्य mercurial निर्देशिकाओं को अनदेखा करता है। (वास्तव में यह किया है) –

+1

सही आप हैं: यह subordinates अनदेखा करता है। हालांकि Mercurial के डिफ़ॉल्ट terse आउटपुट दिया, मैं अभी भी बनाए रखा है कि आप खुद को भ्रम खरीदना होगा। – msw

1

मर्क्युरियल नेस्टेड खजाने की अनुमति नहीं है, लेकिन उनके लिए कम से कम एक कारण है:

कल्पना कीजिए कि आप एक परियोजना में काम कर रहे हैं:/MyProject। इस फ़ोल्डर में आप सब कुछ डालते हैं: कोड, दस्तावेज़ीकरण, परीक्षण, आदि

आप अपने काम का बैकअप लेना चाहते हैं क्योंकि यह बहुत महत्वपूर्ण है, इसलिए आप/MyProject के लिए एक संग्रह बनाते हैं। फिर, ओवरटाइम आप/MyProject के विकास को बचाने के लिए बंडलों का उपयोग करते हैं और उन्हें यूएसबी फ्लैश मेमोरी में बैक अप लेते हैं ताकि आप अपनी हार्ड ड्राइव टूटने पर बस सबकुछ ठीक कर सकें।

याद रखें कि/MyProject में सबकुछ शामिल है। और उन सभी चीजों के बीच, मुख्य कोड और कुछ सहायक परियोजनाएं हैं। आप एक सहायक परियोजना की प्रगति को ट्रैक करना चाहते हैं जो/MyProject/AuxiliaryProject में है, इसलिए आप अपने विकास को ट्रैक करने के लिए Mercurial का उपयोग करते हैं।

इसके अलावा, आप मुख्य कोड के लिए एक अलग भंडार करना चाहते हैं:/MyProject/मुख्य

इस स्थिति में आप नेस्टेड खजाने हैं: बैक अप करने के लिए बंडलों और बच्चे खजाने का उपयोग कर सब कुछ में सक्षम होने के लिए एक बड़ा एक प्रत्येक सबप्रोजेक्ट के प्रबंधन के लिए।

मुझे लगता है कि एक संग्रह को प्रारंभ करते समय Mercurial उपयोगकर्ता को कई विकल्प देना चाहिए। उदाहरण के लिए: - नेस्टेड रिपॉजिटरीज को अनदेखा करें - नेस्टेड रिपॉजिटरीज शामिल करें लेकिन एचजी फ़ोल्डर्स को अनदेखा कर रहा है (यानी ऐसा लगता है कि कोई नेस्टेड रिपॉजिटरीज़ नहीं है लेकिन नेस्टेड रेस्पॉजिटरीज़ में मौजूद जानकारी को अनदेखा न करें)। - नेस्ट शामिल खजाने और भी शामिल .Hg फ़ोल्डर (बैकअप के प्रयोजन के लिए समझ में आता है)

--------- संपादित करें: https://www.mercurial-scm.org/wiki/subrepos

: Subrepositories एक सुविधा कार्य प्रगति पर है

इसके अलावा, "वन" नामक एक एक्सटेंशन है जो भविष्य में अप्रचलित हो सकता है: https://www.mercurial-scm.org/ForestExtension

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