Cloning a git-svn repository with svn metadata -


मैंने अपने मुख्य रिपॉजिटरी को git-svn क्लोन svn: // url / trunk --stdlayout < / code>। अब मैं एसआरएन मेटा डेटा के साथ, रिपॉजिटरी क्लोन करना चाहता हूं ताकि मैं मुख्य कोड को git-svn rebase करने में सक्षम हो जाऊंगा।

ध्यान दें, मैं दो git-svn के बीच कमिट को पुश नहीं करना चाहता हूँ क्लोन, मैं बस सभी नए कोला हुआ रिपॉजिटरी में git-svn मेटाडेटा जोड़ना चाहूंगा, ताकि नया क्लोन मुख्य सबवर्सियन सर्वर के साथ भी संवाद करने में सक्षम हो। P>

यह में है आपको क्या करना चाहिए:

  git config --replace-all remote.origin.fetch '+ refs / remotes / *: refs / remotes / *' git fetch   

मेटा-शाखाओं को svn लाने के लिए फिर आप स्क्रैच से सब कुछ लाए बिना git-svn rebase करने में सक्षम होंगे।


डॉक्स से उद्धरण:

प्रारंभिक जीआईटी एसवीएन क्लोन काफी समय लेने वाली हो सकती है (विशेषकर बड़े सबवर्सन रिपॉजिटरी के लिए)। यदि एकाधिक लोग (या एक से अधिक मशीन वाला एक व्यक्ति) एक ही सबवर्सियन रिपॉजिटरी के साथ बातचीत करने के लिए git svn का उपयोग करना चाहते हैं, तो आप एक सर्वर पर एक रिपॉजिटरी के लिए प्रारंभिक git svn क्लोन कर सकते हैं और प्रत्येक व्यक्ति को क्लोन क्लोन के साथ जीआईटी क्लोन कर सकते हैं: < / P>

  # सर्वर एसएसएच सर्वर पर प्रारंभिक आयात करें "सीडी / पब एंड जीआईटी एसवीएन क्लोन http://svn.example.com/project # स्थानीय रूप से क्लोन करें - बनाओ यकीन है कि रिफ / रीमोट्स / स्पेस सर्वर से मिलती है mkdir परियोजना सीडी प्रोजेक्ट जीआईटी इनट जीआईटी रिमोट मूल सर्वर जोड़ें: / pub / project git config --replace-all remote.origin.fetch '+ refs / remotes / *: refs / remotes / * Git fetch # भविष्य में रिमोट जीआईटी सर्वर से फ़ेच / पुल रोकें, # हम केवल भविष्य के अपडेट्स के लिए git svn का उपयोग करना चाहते हैं git config --remove-section remote.origin # किसी शाखा की एक शाखा से स्थानीय शाखा बनाएं जीआईटी चेकआउट- बी मास्टर FETCH_HEAD # स्थानीय रूप से 'जीआईटी एसवीएन' को आरंभ करें (एक ही यूआरएल और -टी / -बी / -टी ऑप्शंस का प्रयोग करें, जैसा कि सर्वर पर इस्तेमाल किया गया था) git svn init http: // sv N.example.com/project # उपर्वेशन जीआईटी svn रिबेस से नवीनतम परिवर्तनों को खींचें    

Comments