2009-11-24 14 views
11

मैं अपने svn भंडार के लिए git-svn का उपयोग कर रहा हूं। हालांकि, रेपो बहुत बड़ा है, तो मैं पहले तो जैसे परियोजना की जाँच की:गिट एसवीएन अधिक संशोधन प्राप्त करें

git svn clone svn://svn.server.com/project -s -r 12000:HEAD 

तो, अब मैं वर्तमान संशोधन के लिए एक ही संशोधन 12000 है। मैं कुछ और संशोधन चेकआउट करने के लिए चाहते हैं, लेकिन निम्नलिखित कुछ नहीं करता है:

git svn fetch -r 11000:HEAD 

वहाँ पुराने संशोधनों को लाने के लिए एक तरीका है?

+0

क्या यह संशोधन 11000 वर्तमान हेड का अभिभावक नहीं हो सकता है? –

उत्तर

9

मुझे नहीं लगता कि यह वास्तव में समर्थित है, ऐसा करने से पूरे भंडार को पुनर्जीवित किया जाएगा जिसे आम तौर पर बुरी चीज माना जाएगा। (यद्यपि शुद्ध गिट आपको यह करने से पैर में खुद को शूट करने के लिए खुश है) मुझे यह करने का कोई तरीका नहीं दिख रहा है, यहां तक ​​कि डेटा के साथ झुकाव के बाद भी .git/svn। आप उन शाखाओं और टैग के पुराने संशोधन देख सकते हैं जिन्हें आपने पुनर्प्राप्त नहीं किया है, लेकिन एक बार जब आप शाखा पुनर्प्राप्त कर लेते हैं, तो आप वापस नहीं जा सकते और इतिहास को और भी पकड़ नहीं सकते हैं।

मैं एक 50 के संशोधन रेपो क्लोन करने के लिए 6 घंटे इंतजार कर रहे थे, तो मैं अपने दर्द को जानते हैं। यदि आप वास्तव में इतना इतिहास चाहते हैं, तो मैं सुझाव देता हूं कि इसे रात भर चलाएं और पूरी चीज को पकड़ लें।

+5

दर्द के लिए +1 –

+0

मेरे प्रोजेक्ट के ट्रंक में 600,000 से अधिक संशोधन हैं और मैं इसे 15 घंटों के बाद भी क्लोन करने में सक्षम नहीं हूं। मुझे नहीं पता क्या करना है। – goyalshub1509

1

ऐसा लगता है this post का उत्तर है: मूल रूप से, आपको क्लोन से शुरू नहीं होना चाहिए, लेकिन init और fetch। इसे स्वयं नहीं किया (अभी तक) ...

+0

हम्म ... कोशिश की, काम नहीं किया ... –

2

मैं नहीं कर रहा हूँ पूरी तरह से इस बाहर मांस के लिए है, लेकिन आप git svn clone अपने svn को एक नए रेपो में सक्षम करने के लिए सक्षम हो, उस रिमोट को रिमोट के रूप में जोड़ें और इसे अपने शुरुआती रेपो से लाएं, और उसके बाद पुराने रेपो (r12000) में पहली प्रतिबद्धता और पैरेंट में पहली प्रतिबद्धता के बीच एक भ्रष्टाचार बिंदु जोड़ें नए रेपो में r12000। यह इतिहास के दो टुकड़ों को एक साथ फ्यूज करेगा। फिर फिर, गिट-एसवीएन सही तरीके से काम करने के लिए कुछ और पैचिंग-अप होने की आवश्यकता हो सकती है।

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