यहां स्थिति है: हमारे पास एक विशाल svn भंडार है, जो "मास्टर" है (इसे बदल नहीं सकता क्योंकि यह वास्तव में किसी अन्य कंपनी द्वारा "स्वामित्व" है)। ब्रितिंग लचीलापन और गति प्रदान करने के लिए हम गिट में स्थानीय रूप से काम करना पसंद करेंगे। लेकिन हम पूरे भंडार को क्लोन नहीं करना चाहते हैं।"सबप्रोजेक्ट" की शाखाओं के साथ गिट क्लोन कैसे बनाएं?
भंडार संरचना इस तरह मोटे तौर पर दिखता है:
/trunk/project1/*
/project2/*
/branches/branch/project1/*
/project2/*
/tags/tag1/tag1a/project1/*
/tag1b/project1/*
/tag2/tag2a/project2/*
मैं केवल Project1 में रुचि हूँ, लेकिन मैं दोनों ट्रंक और शाखाओं (टैग इतना महत्वपूर्ण नहीं हैं, लेकिन यह करने के लिए अच्छा होगा करना चाहते हैं उन्हें भी प्राप्त करें)।
मैं एक ही शाखा इन SVN-दूरस्थ सेटिंग्स के साथ क्लोन प्राप्त करने में सक्षम हूँ:
[svn-remote "svn"]
url = https://svn.company.com/svn/branches/branch1/project1
लेकिन मैं वास्तव में शाखाओं में संरचना भी करना चाहते हैं।
[svn-remote "svn"]
ignore-paths=^project2|^project3|...
लेकिन मैं उपेक्षा-पथ हर बार एक नई उच्च-स्तरीय "परियोजना" निर्देशिका जोड़ा जाता है, जो वास्तव में स्थायी नहीं है अद्यतन करने के लिए होता है: मैं उपेक्षा-पथ का उपयोग कर के बारे में सोचा है।
दूसरा, हमें वास्तव में केवल टैग/टैग/टैग 1 में टैग की आवश्यकता है (अगर हमें टैग की आवश्यकता है)। ऐसा करने के तरीके पर कोई विचार की सराहना की जाएगी।
हां, यह काम किया है पर इस आधार पर। एक विचित्रता यह है कि जब मैं एक शाखा की जांच कर रहा था तो उस पथ को बाहर निकालना जो यहां काम नहीं कर रहा है। मेरे पास url = https://svn.company.com/svn/branches/branch1/project1 अनदेखा-पथ =^baddir/ और "baddir" svn से नहीं लाया गया था। एक ही अनदेखी पथ के साथ लेकिन उपरोक्त svn-remote defs, "baddir" लाया जाता है। – Spencer