2009-05-13 11 views
10

से साफ़ करने के लिए स्पष्ट उपकरण से माइक्रोसियल में माइग्रेट करने के लिए कौन से टूल्स उपलब्ध हैं? क्या इतिहास को स्थानांतरित करना संभव है? वहां किस तरह की सीमाएं हैं?क्लीयरकेस से Mercurial

उत्तर

12

पर यह न भूलें कि ClearCase (सेंट्रल VCS) और मर्क्युरियल (वितरित VCS) बहुत अलग हैं।
एक पूर्ण सूची के लिए Core ClearCase concepts देखें।

एक प्रवास के मामले में, इसका मतलब है कि आप एक भंडार केंद्रित VCS (मर्क्युरियल) जो "समय के साथ काम" (एक समय एक प्रतिबद्ध किया जा रहा है, एक नया changeset निर्माण)
ClearCase में तात्पर्य साथ काम कर रहे हालांकि, कोई वैश्विक टाइमलाइन नहीं है, क्योंकि प्रत्येक फ़ाइल व्यक्तिगत रूप से (फ़ाइल केंद्रित वीसीएस) प्रतिबद्ध है।

तो माइग्रेशन के लिए, आपको कॉन्फ़िगरेशन स्पेक के साथ एक साफ़केस गतिशील दृश्य सेट अप करने की आवश्यकता है, आप सभी प्रासंगिक "ClearCase टाइमलाइन" (गैर-यूसीएम दृश्यों के लिए लेबल या इससे भी बेहतर: यूसीएम दृश्यों के लिए बेसलाइन) और आयात करने के लिए बदल देंगे Mercurial में तय राज्य।
और सबसे हालिया लेबल/बेसलाइन तक प्रक्रिया दोहराएं।

विचार है: वहाँ अक्सर जब एक और (डी) VCS के लिए ClearCase से पलायन सभी के सभी इतिहास फ़ाइलें आयात करने की कोई जरूरत नहीं है। केवल "महत्वपूर्ण" परिवर्तनों को रिकॉर्ड करने की आवश्यकता है।
मैं विशेष रूप से बड़े और पुराने ClearCase भंडारों के लिए "Conversion of ClearCase repo to Mercurial" आलेख की अनुशंसा नहीं करता।

SVN migration for other considerations भी देखें।

+0

क्यों "साफ़केस रेपो को Mercurial में रूपांतरण" की सिफारिश क्यों नहीं? क्योंकि इसे बनाने के लिए बहुत अधिक जगह और समय लगेगा? मुझे उस पूर्ण आयात की आवश्यकता है। कम से कम इसे गिट जैसे नि: शुल्क भंडार प्रणाली के तहत रखना है। फिर, जब संग्रहीत किया गया, तो हो सकता है कि हम पूर्ण इतिहास के साथ एक नए गिट रेपो के साथ शुरू कर सकें और केवल संदर्भ उद्देश्य के लिए नहीं? – Dolanor

+0

@ डोलानर साफ़केस एक संशोधन-आधारित प्रणाली के लिए खराब निर्यात करता है क्योंकि यह फ़ाइल-केंद्रित है: जिसका अर्थ है कि प्रत्येक संस्करण प्रत्येक फ़ाइल के लिए स्वतंत्र रूप से बनाया जाता है (जैसा कि * पूर्ण * रेपो के लिए प्रतिबद्धता पर एक संशोधन का विरोध किया जाता है)। इसलिए, एक संशोधन-आधारित वीसीएस (एसवीएन, एचजी, गिट, ...) में निर्यात करने के लिए क्लीयरकेस रेपो की लगातार स्थिति निकालना मुश्किल है। मैं आमतौर पर संग्रह के लिए केवल पढ़ने के लिए ClearCase रेपो रखता हूं, और केवल अंतिम कुछ टैग या बेसलाइन आयात करता हूं। उस तरह से बहुत तेज़। – VonC

+0

यह सच है, लेकिन क्लीयरकेस का संग्रह रखने से आपको इसे साफ़ करना होगा यदि आप इसे देखना चाहते हैं। इसे एक मुक्त स्रोत नियंत्रण के तहत रखने का मतलब है मुफ्त में संग्रह। लेकिन यह करने के लिए और अधिक काम करते हैं। मैंने पहले से ही [git-cc tools] (https://github.com/charleso/git-cc) की कोशिश की है लेकिन इसके साथ समस्याएं हैं I मैं इसे ठीक करने की कोशिश करूंगा या अपनी जरूरतों के लिए एक और टूल बनाउंगा – Dolanor