2009-06-19 13 views
16

हम यहां एसवीएन का एक भारी उपयोगकर्ता हैं। एसवीएन पर जीआईटी के फायदे हमें बदलना चाहते हैं, एसवीएन पर एचजी के फायदे का मतलब है कि अब बदलाव करने का समय है और हमें जल्द ही ऐसा करने की जरूरत है।एसवीएन से एचजी तक एक कंपनी को परिवर्तित करना?

मैं ग्राहक पक्ष पर इतना चिंतित नहीं हूं, लेकिन यहां मेरे प्रश्न हैं।

  1. एसवीएन पर फ़ाइल मेटाप्रोपर्टीज, सही ढंग से आयोजन परियोजनाओं आदि को स्थापित करने पर कुछ उत्कृष्ट किताबें हैं। एचजी के लिए उस किताब (ओं) क्या है?

  2. क्या एक एसवीएन रिपोजिटरी (जिसे आपने उपयोग किया है) को परिवर्तित करने का कोई तरीका है और यह रिपोर्ट कर सकता है कि यह कितना अच्छा रहा? यदि संभव हो तो हम प्रतिबद्धता लॉग के वर्षों को खोना नहीं चाहते हैं।

  3. जब आप परिवर्तित करते हैं, तो आपने पुराने कोड को कैसे विभाजित किया? क्या आपने एक परियोजना के रूप में ट्रंक किया है, और टैग/कांटे दूसरे के रूप में?

  4. यदि आपने विरासत कार्य के लिए एसवीएन का उपयोग किया है, तो क्या आपने एसवीएन या कुछ और के अपडेट में जांच की है?

+3

ये प्रश्न तकनीकी पक्ष को संबोधित करते हैं; एक अन्य कॉर्पोरेट संस्कृति और प्रशिक्षण पक्ष भी है। आप इसके लिए कैसे हैं –

उत्तर

13
  1. वहाँ 2009.

  2. में http://hgbook.red-bean.com/ और published by O'Reilly में एक नि: शुल्क पुस्तक उपलब्ध रिलीज 0.9.5 के रूप में है, मर्क्युरियल एक conversion tool साथ आता है।

  3. मुझे स्वीकार करना होगा कि मैंने मर्कुरियल के बजाय गिट में स्विच किया था। उस ने कहा, गिट के साथ आप एक ही भंडार में एक ही समय में शाखाएं, टैग और ट्रंक आयात कर सकते हैं। गिट हर किसी का ख्याल रखता है और टैग को टैग के रूप में टैग करता है, शाखाओं के रूप में शाखाएं और ट्रंक मास्टर शाखा के रूप में। मुझे विश्वास है कि यह Mercurial के साथ लगभग समान है।

  4. मैं आपको जितनी जल्दी हो सके Mercurial (या गिट या किसी अन्य DVCS) पर स्विच करने की सलाह देता हूं। दो अलग-अलग भंडारों पर काम करना जारी रखें। जब मैंने स्विच किया, तब तक मैंने एसवीएन रखा जब तक कि मुझे गिट के साथ पर्याप्त विश्वास था (गिट-एसवीएन आपको गिट से एसवीएन और वाइसवर्सा से बातचीत करने में सक्षम बनाता है)। तब मैंने स्विच किया और मैंने एसवीएन रिपोज़ को बंद कर दिया।

+0

यह वही किताब है ... :-) ब्रायन प्रतिक्रिया प्राप्त करने के लिए कुछ समय के लिए इसे ऑनलाइन प्रकाशित कर रहा है और अब इसे कागज पर भी प्रकाशित किया जा रहा है। –

+0

धन्यवाद मार्टिन, मैंने जवाब तय कर दिया है! –

1

वितरित सबवर्सन के बारे में discussion (समर्थक वी चोर) वहाँ हो गया है, इसके बारे में कुछ आइटम है कि SVN नहीं करता है और साथ ही DVCSs, और उपाध्यक्ष प्रतिकूल चिंताओं, लेकिन वहाँ लंबे समय तक में जानकारी का एक बहुत कुछ है एक कंपनी के वीसीएस माइग्रेट करने के बारे में सोचने वाले किसी भी व्यक्ति के लिए उपयोगी प्रकृति की चर्चा।

सीधे एक अच्छी पोस्ट पर जाने के लिए, this one पर आज़माएं।

यदि आप एसवीएन से डीवीसीएस के लिए जाने का फैसला करते हैं, तो आपको git-svn पर देखना चाहिए जो एसवीएन रिपोजिटरी और गिट फ्रंटेंड के बीच द्विपक्षीय परिवर्तन की अनुमति देता है। यह आपको दोनों दुनिया के सर्वश्रेष्ठ प्रदान करना चाहिए, हालांकि Mercurial के बजाय गिट का उपयोग करना चाहिए।

4

कृपया Mercurial wiki पर जाकर शुरू करें। वहां आपको Mercurial नामक एक प्रमुख लिंक मिलेगा: परिभाषित मार्गदर्शिका जो hg book से जुड़ी है। आप शायद सबवर्सन के लिए svn book जानते हैं - यह Mercurial के बराबर है (वे एक ही सर्वर पर होस्ट किए गए हैं, लेकिन विभिन्न लेखकों द्वारा लिखे गए हैं)।

विकी फ्रंट पेज पर आगे नीचे, आपको अन्य संस्करण नियंत्रण प्रणालियों से शरणार्थियों के लिए एक अनुभाग मिलेगा। information for SVN users और repository conversion के साथ एक लिंक है। पूर्व बताते हैं कि आप HgSubversion को आजमा सकते हैं यदि आप सबवर्जन और मर्कुरियल के बीच द्वि-दिशात्मक रूपांतरण करना चाहते हैं और बाद में बताता है कि convert extension का उपयोग (संभावित वृद्धिशील) सबवर्जन -> Mercurial रूपांतरण करने के लिए कैसे करें।

क्या आपको इनमें से कोई भी पृष्ठ पहले से ही मिला है? यदि नहीं, तो कृपया हमें बताएं कि इन चीजों को ढूंढना आसान बनाने के लिए हम इन पृष्ठों को कैसे सुधार सकते हैं।

4

मैंने बारवर्क्स में एक बार कुछ बार सबवर्सन से रूपांतरण शुरू कर दिया है, और अब मैं गिट के साथ खेल रहा हूं। मैंने कुछ समय पहले सीवीएस से सबवर्जन तक काफी बड़ा कदम उठाया था।

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

ओह, हाँ, और यह मानता है कि आपने सिस्टम के साथ पहले से ही उचित मात्रा में खेल लिया है, और इसका उपयोग करके "खिलौना" प्रोजेक्ट बनाया है। बहुत खिलौना नहीं है, हालांकि: इसमें कम से कम तीन डेवलपर्स, कुछ दर्जन फाइलें, सैकड़ों काम शामिल होनी चाहिए, और अपनी वास्तविक परियोजनाओं में से एक के समान वर्कफ़्लो का उपयोग करना चाहिए।

0

मेरे पास एक बड़ा उपवर्तन भंडार था जहां हर मुख्य फ़ोल्डर एक मॉड्यूल था।

for i in *; do \ 
    echo include "\"${i}\"" > /tmp/hgv.map; \ 
    echo rename "\"${i}\"" . >> /tmp/hgv.map; \ 
    hg convert --filemap /tmp/hgv.map /mnt/e/sqlwork/ "/mnt/h/work/${i}"; \ 
done 

यह मौजूदा निर्देशिका में हर फ़ोल्डर हो जाता है, परिवर्तित subcommand के लिए एक filemap उत्पन्न करता है और एक एचजी भंडार में निर्देशिका धर्मान्तरित: इसे विभाजित अप करने के लिए मैं निम्नलिखित मंत्र का इस्तेमाल किया। मेरे पास कोई इतिहास-हानि नहीं थी और कोई अन्य बाधा नहीं थी। आप convert extension पर एक नज़र रखना चाहते हैं।

0
  1. से hginit.com एक बहुत अच्छा परिचय है।
  2. मैंने hg convert प्लगइन को मेरे सबवर्जन रेपो को एक Mercurial संस्करण में कनवर्ट करने के लिए उपयोग किया है। बहुत अच्छी तरह से काम किया। विवरण के लिए the plugin doc देखें। वहाँ हैं (बेशक) other ways
  3. hg convert वास्तव में शाखाओं और टैग (और आपके रेपो में मौजूद किसी भी अन्य निर्देशिका संरचना) सहित पूर्ण svn सेट की प्रतिलिपि बनाता है।
  4. एक एकल संस्करण नियंत्रण प्रणाली का उपयोग करना बेहतर है, लेकिन यदि आवश्यक हो तो आप hgsubversion प्लगइन का उपयोग करके उपversण से लिंक कर सकते हैं।
संबंधित मुद्दे