2010-09-17 7 views
5

प्राप्त करें क्या एसवीएन रेपो संरचना के कुछ फ़ोल्डरों को क्लोन करने के लिए गिट-एसवीएन का उपयोग करने का कोई तरीका है। मैं एक रेपो क्लोन करने की कोशिश कर रहा हूं जिसमें कुछ पागल बड़ी बाइनरी फाइलें हैं और कई सबफ़ोल्डर हैं जो केवल सादे बेकार हैं। मैंने --ignore-paths विकल्प का उपयोग करने का प्रयास किया है, लेकिन मेरा क्लोन बहुत लंबे समय तक कुछ भी नहीं कर रहा था। क्या आप में से कोई भी --ignore-paths काम करने में कामयाब रहा है? मुझे जाल पर बहुत कुछ नहीं मिल रहा है जहां कोई और इसमें चल रहा है। शायद मैं केवल एक ही हूँ।आप एसवीएन रेपो के क्लोन भागों को गिट-एसवीएन का उपयोग कैसे कर सकते हैं, लेकिन फिर भी सभी शाखाएं

उत्तर

0

सबसे अधिक सफलता जो मैंने यहां की है वह मैन्युअल रूप से गिट में शाखाएं बनाना है जो आवश्यक होने पर एसवीएन रिमोट रिपोजिटरी को दर्पण करते हैं। साथ

  1. अद्यतन .git/कॉन्फ़िग फ़ाइल:
[svn-remote "svn-branch-alias"] 
      url = http://svn/branches/crazybranchname/craziername/url/ 
      fetch = :refs/remotes/git-branch-name 
  1. कमांड लाइन प्रकार से

    : git svn fetch 'svn-branch-alias' SVN शाखा डेटा एकत्र करने के प्रक्रिया के बाद किया गया है अपने स्थानीय गिट रेपो में।

  2. फिर टाइप करें: git checkout 'git-branch-name' एक हेडलेस मोड में जाने के लिए।

  3. अंत में टाइप करें: git checkout 'my-local-git-branch-name' उस शाखा में नवीनतम सबमिशन में स्थानांतरित करने के लिए स्थानांतरित करें और स्थानीय शाखा उपनाम बनाएं जिसका आप उपयोग कर सकते हैं।

अब आप commit और dcommit हमेशा की तरह और अभी भी विभिन्न स्थानीय Git शाखाओं और अपने मैन्युअल रूप से बनाई गई SVN दर्पण सामान्य प्रक्रियाओं का उपयोग करके के बीच स्विच कर सकते हैं।

+0

मुझे यह कहना चाहिए कि यह वास्तव में मुझे जटिल संरचना के साथ एक रेपो का बेहतर प्रबंधन करने की अनुमति देता है। यह वास्तव में मुख्य समस्या को हल नहीं करता है जो आपको एक साधारण कमांड प्रदान कर रहा है जिससे कि आप गिट-एसवीएन के साथ एक जटिल एसवीएन रेपो को ठीक से क्लोन कर सकें। – Kevin

0

शायद आप हमारे सबवर्जन रिपोजिटरी की संरचना को चित्रित कर सकते हैं ताकि हमारे लिए कुछ समाधान सुझाए जा सकें।

क्या आप रूट-यूआरएल से पूरे भंडार svn क्लोन को गिट करने की कोशिश कर रहे हैं? क्या आपने रेपो के छोटे हिस्सों को क्लोन करने की कोशिश की है, और फिर शायद कई क्लोनों को एक साथ तैयार कर रहे हैं?

+0

भंडार जो मैं क्लोन करने की कोशिश कर रहा हूं वह ओसीएपी आरआई ओपन सोर्स प्रोजेक्ट के समान है। यह java.net पर स्थित है। अगर आप अपनी संरचना को देखना चाहते हैं तो एक नज़र डालें। यह बहुत भयानक है। मेरी कंपनी की अपनी पागल संरचना के साथ इस रेपो की एक आंतरिक प्रति है जो और भी शाखाओं को जोड़ती है। – Kevin

+0

मुझे --ignore-paths का उपयोग करके कुछ सफलता मिली है और केवल एसवीएन से एक या 2 संशोधन की जांच कर रही है। लेकिन मैं अभी भी इसके साथ वास्तव में खुश नहीं हूँ। यह सिर्फ एक अव्यवस्थित समस्या हो सकती है जो वास्तव में हल करने योग्य नहीं है। मैं उम्मीद कर रहा था कि मैं सभी शाखाओं से केवल दो फ़ोल्डर्स एसवीएन क्लोन को गिट कर सकता हूं। – Kevin

1

हम एक SVN रेपो में कुछ निर्देशिका की अनदेखी करने के "उपेक्षा-पथ" सुविधा का उपयोग किया है:

[svn-remote "svn"] 
     ignore-paths = ^(((branches|tags)/[^/]+|trunk)|)(huge/|mobile/) 

इस config पर ध्यान नहीं देता "विशाल" और "मोबाइल" ट्रंक में भंडार की उपनिर्देशिका, सभी शाखाएं और सभी टैग।

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