2011-02-11 11 views
5

गिट-एसवीएन का उपयोग करना मेरे स्थानीय गिट को svn क्लाइंट के रूप में उपयोग करने के लिए काफी सुंदर है।शाखाओं के लिए गिट svn को प्रतिबंधित करना

दुर्भाग्यवश ऐसा लगता है कि कुछ शाखाओं में गिट svn को प्रतिबंधित करना संभव नहीं है?

One '*' is needed in glob: 'branches/v10'

मिला जब तय शाखा पथ

url = https://example.com/svn/reps/test 
fetch = trunk:refs/remotes/trunk 
branches = branches/v10:refs/remotes/v10 
branches = branches/v09:refs/remotes/v09 

वहाँ एक रास्ता अलग SVN रिमोट (जो का कारण बनता है का उपयोग कर के बिना चारों ओर पाने के लिए है के साथ gitconfig में दो branches लाइनों की स्थापना, सूचकांक को उड़ाने होगा कारण शाखा अंक केवल ट्रंक से "पैच/प्रतियां" नहीं होते हैं और सभी "ट्रंक" इतिहास फिर से आते हैं; (


संपादित करें: n शाखाओं के साथ एक विशाल SVN भंडार नहीं है: मैं क्या इरादा clearify करने के लिए। एसवीएन में, मैं दो अलग-अलग कार्यक्षेत्रों में केवल दो शाखाओं की जांच करूंगा जिनके लिए मुझे काम करने की आवश्यकता है। गिट में, डीवीसीएस पहलू पूरे एसवीएन रिपोजिटरी को "क्लोन" करेगा, जिसमें सभी एसवीएन शाखाओं की सभी सूचनाएं शामिल हैं (50,000 परिवर्तनों के साथ एक भंडार के बारे में सोचें)। मेरा उद्देश्य डिस्क उपयोग को मेरी स्थानीय मशीन पर जितना छोटा हो सके रखना है। इसलिए मैंने सोचा, मुझे केवल दो विशिष्ट शाखाओं (v10 और v09) के लिए गिट सेट अप करें। तो मेरे पास अभी भी इस गिट भंडार के भीतर बड़ी विलय सुविधाएं हैं लेकिन मुझे उन सभी चीजों को क्लोन करने की आवश्यकता नहीं है जिनकी मुझे आवश्यकता नहीं है (और कभी भी इसकी आवश्यकता नहीं होगी)। "डिस्क उपयोग" की तुलना में एक और पहलू समस्या है, जो पूर्ण एसवीएन भंडार क्लोनिंग बहुत लेता है ... (मैंने बहुत कुछ कहा) लंबा!


उत्तर

11

इसका समाधान मैनुअल में है। svn manpage के अंत में, निम्न टिप्पणी मिली:

It is also possible to fetch a subset of branches or tags by using a comma-separated list of names within braces. For example: 
[svn-remote "huge-project"] 
     url = http://server.org/svn 
     fetch = trunk/src:refs/remotes/trunk 
     branches = branches/{red,green}/src:refs/remotes/branches/* 
     tags = tags/{1.0,2.0}/src:refs/remotes/tags/* 
संबंधित मुद्दे