2008-11-05 8 views
6

एक बार जब आपके पास एक प्रतिबद्धता है जिसमें एक सबमिशन ऑब्जेक्ट होता है, तो आप इसे पिछले कुछ करने के लिए गिट-एसवीएन नहीं प्राप्त कर सकते हैं।गिट-एसवीएन: क्या इसे सबोडोड्यूल के साथ अच्छा खेलने के लिए एक तरीका है, या उन्हें अनदेखा करें?

कोई विचार, कामकाज, कुछ भी जो "गिट-एसवीएन के साथ submodules का उपयोग नहीं करते हैं"?

अब तक का जवाब एक बड़ा नहीं लगता है।

क्या कम से कम मौजूदा गिट में सबमिशन डेटा के बिना svn के लिए प्रतिबद्ध होने के लिए मौजूदा मॉड्यूल को अनुमति देने का कोई तरीका है? यहां तक ​​कि अगर इसका मतलब पेड़ को फिर से लिखना है।

+0

मैं submodules के बजाय उप-पेड़ विलय का उपयोग करने में देख रहा हूँ। सादा svn पक्ष पर लोगों के लिए जीवन आसान बनाता है। यह सिर्फ उनके लिए सामान्य रेपो फाइलें है। – kch

उत्तर

1

आपको सबवर्सन के साथ अच्छा खेलने के लिए svn:externals संपत्ति के साथ submodules को प्रतिस्थापित करने की आवश्यकता होगी।

svn propset svn:externals [...] 

मुझे नहीं लगता कि इसके चारों ओर कोई और तरीका है।

0

यदि आपके पास एसवीएन सर्वर तक पहुंच है तो आप इसमें SubGit इंस्टॉल कर सकते हैं। यह एक जुड़ा हुआ गिट भंडार बनाएगा, जैसे कि गिट भंडार के लिए कोई भी धक्का एसवीएन में और इसके विपरीत अनुवादित किया जाएगा। अनुवाद समवर्ती-सुरक्षित है, इसलिए आप इस संग्रह की जोड़ी को उसी भंडार के 2 इंटरफेस (गिट और एसवीएन) के रूप में मान सकते हैं क्योंकि यह गिटहब पर किया गया है, इस अंतर के साथ कि अनुवाद अधिक पारदर्शी है (सभी शाखाएं शाखाओं में परिवर्तित हो जाती हैं टैग्स के लिए टैग, svn: .gitginore को अनदेखा करें, svn: eol-style .gitattributes मान और इसी तरह)।

इसके बाद आप गिट रिपोजिटरी के परिणामस्वरूप पनडुब्बियां जोड़ सकते हैं और गिट-एसवीएन के बारे में भूल सकते हैं।

यदि आपके पास सर्वर तक कोई पहुंच नहीं है, तो मुझे केवल समाधान के बारे में पता नहीं है, केवल svn के लिए: बाहरी गिट से समर्थन (SmartGit और .gitsvnextmodules कॉन्फ़िगरेशन देखें)।