2012-12-03 16 views
12

मैं Git के साथ SVN भंडार आयात किया है एक भी .gitignore प्राप्त करने के लिए कैसे:के बाद Git SVN का उपयोग कर बनाने-उपेक्षा

git svn clone --preserve-empty-dirs --stdlayout svn+ssh://... SVN.git 

यह अंत में सफल होने की थी, हालांकि रास्ते पर यह कई बार असफल किया था और मैं था

git svn fetch 

फिर भी ऐसा लगता है कि अंत में सब कुछ ठीक है। (हालांकि अब जब लेखन मुझे आश्चर्य है कि क्या मैं भी अतिरिक्त fetch तों में --preserve-empty-dirs प्रदान की है चाहिए शुरू संपादित करें:नहीं, मैं नहीं करना चाहिए देखें मेरी टिप्पणी bellow।।)

तब मैं बनाना चाहता था .gitignore और इसलिए मैंने

git svn create-ignore 

के साथ किया और यह भी सफल रहा।

लेकिन अंतिम परिणाम संतोषजनक से कम है। इसने कई फ़ोल्डरों में .gitignore फ़ाइलों को बहुत उत्पन्न किया। ऐसा लगता है कि प्रत्येक बार जब एसवीएन के पास svn:ignore प्रॉपर्टी गिट ने संबंधित .gitignore फ़ाइल बनाई थी।

जबकि मैं उन्हें एक रूट .gitignore फ़ाइल में विलय करना चाहता हूं। यह गिट के साथ संभव है क्योंकि यह अनदेखी के साथ जंगलीकार्ड (या उनके बिना) के उप-निर्देशिकाओं में अनदेखा करने की इजाजत देता है। किसी भी तरह से मुझे लगता है कि रूट पर एक ही में "sub-.gitignore s" को स्वचालित रूप से बदलना संभव है।

और मुझे लगता है कि क्योंकि "SVN लोगों को" मेरे साथ खुश नहीं होगा बीस से अधिक .gitignore फ़ाइलें करने के लिए चाहते हैं ...

+0

ऐसा लगता है कि 'गीट svn fetch' स्वीकार नहीं करता है '--preserve-blank-dirs' ('git help svn' शो से क्या निर्णय लेता है) ताकि मेरा संदेह उत्तर दे। –

+1

वास्तव में "गिट svn fetch" उस ध्वज को टैग नहीं करता है, लेकिन आप उन्हें .gitconfig में जोड़ सकते हैं, जैसे: '[svn-remote "svn"] preserve-blank-dirs = true'। इसे सक्रिय करने के लिए, आपको यह भी जोड़ना होगा: '[svn-remote "svn"] जोड़ा-प्लेसहोल्डर = .gitignore' –

उत्तर

23

मैं एक समाधान मिल गया। create-ignore के बजाय आपको show-ignore का उपयोग करना होगा और आउटपुट को फ़ाइल में सहेजना होगा।

तो क्लोनिंग भंडार आदेश के बाद अमल के बाद: आप .git निर्देशिका है जहां भंडार जड़ से

git svn show-ignore > .gitignore 

+3

जब मैंने ऐसा किया तो यह यूनिकोड एन्कोडिंग के साथ एक .gitignore फ़ाइल बनाई गई। इसने अनदेखा चुपचाप असफल कर दिया जब तक कि मैंने मैन्युअल रूप से .gitignore को यूटीएफ -8 में एन्कोडिंग नहीं बदला। –

संबंधित मुद्दे