में एक एसवीएन रेपो सेट करने का प्रयास कर रहे हैं हम अपने सामान्य svn की बजाय एक भंडार प्रणाली के रूप में गिट का उपयोग करके परीक्षण कर रहे हैं। एक svn भंडार है जिसे हमें हमेशा चाहिए। Svn में हम svn propset के साथ svn: externals के रूप में इस संग्रह को लिंक करते हैं। यह सुनिश्चित करता है कि वास्तव में उस विशेष, भारी उपयोग, भंडार की केवल एक वैश्विक प्रति है।गिट
अब हमारे पास गिट रिपॉजिटरीज़ हैं, मैं एसवीएन रिपोजिटरी को अनिवार्य रूप से उसी तरह से लिंक करना चाहता हूं जैसा कि कोई भी svn: externals के साथ कर सकता है। मैं कुछ ऐसा करने में सफल रहा हूं। मैं गिट करने के लिए नया हूँ, कृपया किसी अज्ञानता से क्षमा करें।
शुद्ध Git रेपो में (मैं git clone [email protected]:mygitrepo
के माध्यम से क्लोन है) मैं प्रयोग किया है:
git svn clone svn+ssh://[email protected]/path/to/mysvnrepo mysvnrepo
अन्य SVN भंडार की एक प्रति प्राप्त करने के लिए। यह बहुत अच्छा काम करता है, मैं mysvnrepo निर्देशिका में git svn rebase
के माध्यम से एसवीएन रेपो में नए संशोधन प्राप्त कर सकता हूं और git svn dcommit
के माध्यम से परिवर्तन कर सकता हूं।
मुख्य Git भंडार मैं प्रयोग किया जाता करने के लिए इस गठबंधन करने के लिए:
git add mysvnrepo
git commit mysvnrepo
git push
अगर मैं अब, Git रेपो कहीं और (फिर git clone [email protected]:mygitrepo
के साथ) क्लोन, जबकि मैं के साथ mysvnrepo निर्देशिका मिल मुद्दा मैं कर रहा हूँ है सभी फाइलें, मैं एसवीएन रेपो से बातचीत नहीं कर सकता। मुझे त्रुटि मिलती है: "गिट svn rebase के बाद" काम करने वाले पेड़ इतिहास से अपस्ट्रीम एसवीएन जानकारी निर्धारित करने में असमर्थ "। संभावित रूप से संबंधित, mysvnrepo निर्देशिका में कोई .git फ़ोल्डर नहीं है जब मैं इसे कहीं और क्लोन करता हूं (यह वह जगह है जहां svn जानकारी मूल रेपो में संग्रहीत होती है)।
मैंने इस समस्या को थोड़ा सा खोजा है, लेकिन इसके सभी संदर्भों को एसवीएन रेपो को पहले स्थान पर काम करने में समस्याएं आ रही हैं, जबकि मेरी समस्या यह किसी अन्य उपयोगकर्ता के लिए काम करने जा रही है।
शायद मेरी समस्या यह है कि कैसे svn repo को गिट रेपो में जोड़ने/प्रतिबद्ध/धक्का देना है? यानी है: git add mysvnrepo; git commit mysvnrepot; git push
; ऐसा करने का सही तरीका?
संपादित करें: अधिक संदर्भ प्रदान करने
आप भंडार को कैसे क्लोन करते हैं? 'गिट क्लोन 'का उपयोग करके या एसवीएन से इसे जांचकर ...? – siegi
क्या आपका मतलब है कि गिट रिपोजिटरी मैं काम कर रहा हूं? मूल गिट भंडार दोनों के लिए और दूसरे उपयोगकर्ता के लिए मैं 'गिट क्लोन [email protected] का उपयोग करता हूं: mygitrepo' –