2010-03-19 22 views
12

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

कोई सुझाव दे सकते हैं जो सबसे अच्छा मॉडल सीसी और Git

  1. है सिंक करने के लिए है सब Vobs GIT में एकल रेपो, और विभिन्न रूप में सीसी में प्रमुख धारा है के रूप में सीसी में जीआईटी में शाखाएं - एकल जीआईटी रेपो (वीओबीएस) और कई शाखाएं (सीसी धाराएं)। - यह कम जगह लेता है क्योंकि कई शाखाओं के साथ वीओबी को एकल रेपो के रूप में रखा जाता है।

  2. स्वतंत्र Git संग्रह और प्रत्येक भंडार सभी सीसी VOBs होने के रूप में महत्वपूर्ण सीसी शाखाएं हैं। - कई सीसी शाखाओं के लिए कई जीआईटी रेपो - इसमें बहुत सी जगह होगी क्योंकि वीओबी को दोहराया जाएगा।

कौन आपको लगता करना सबसे अच्छा तरीका है ClearCase

उत्तर

4

है सब Vobs GIT में एकल रेपो, और Git

नहीं में विभिन्न शाखाओं के रूप में सीसी में प्रमुख धारा है के रूप में सीसी में और हाँ

के रूप में महत्वपूर्ण सीसी शाखाएं हैं स्वतंत्र Git संग्रह और प्रत्येक भंडार होने सब सीसी VOBs

कोई और नहीं

फिर से पढ़ने my answer about Git limits, आप एक Git रेपो में "सब कुछ" रटना करने की कोशिश नहीं करनी चाहिए।
ClearCase और Git के बीच तुलना के लिए "What are the basic clearcase concepts every developer should know?" भी देखें।

स्ट्रीम सुरक्षित रूप से शाखा के रूप में आयात किया जा सकता।
लेकिन वीओबी आवश्यक रूप से एक गिट रेपो नहीं हैं।

आप UCM का उपयोग कर रहे हैं, तो मैं UCM घटक प्रति एक Git रेपो की सिफारिश करेंगे।

वैसे भी, आपको अपने गिट रेपो में रिकॉर्ड करने की आवश्यकता है ताकि यह पता चल सके कि ClearCase दृश्य को वापस सिंक करने के लिए उपयोग करने के लिए क्या उपयोग किया जाता है (simple clearfsimport के माध्यम से)।
कि ClearCase डेटा पुनः आयात के लिए इस्तेमाल किया दृश्य सही VOB के लिए एक UCM दृश्य स्वचालित रूप से सही धारा में जुड़े हो जाएगा।


नोट: मैं "How to bridge git to ClearCase?" एक सरल समाधान में उल्लेख है, लेकिन जो एक Git रेपो में सभी इतिहास आयात नहीं करता।

+1

धन्यवाद यह मेरी बहुत मदद करता है। मैं मानता हूं कि सभी वीओबी या सभी यूसीएम घटक एक एकल रेपो में होने से जीआईटी को ऑपरेशन करने में काफी समय लगेगा, खासकर अगर यह 20 जीबी की तरह है। क्या आप मुझे और अधिक चीज़ों पर स्पष्टीकरण दे सकते हैं। आइए मान लें कि एक यूसीएम घटक/एक वीओबी के लिए एक रेपो है, लेकिन चर्चा के अनुसार सभी महत्वपूर्ण सीसी/यूसीएम धारा रेपो में शाखाओं के रूप में है, क्या अलग-अलग डेवलपर्स के लिए एक ही रेपो की अलग-अलग शाखाओं को बिना किसी हिसाब से धक्का देना संभव है यह देखने के लिए कि क्या सभी शाखाएं एक ही नंगे रेपो में हैं? –

+0

@ सेंथिल: हाँ: आप रिमोट नंगे रेपो में किसी भी शाखा को धक्का दे सकते हैं। नोट: यदि आपको काम करने के लिए कई यूसीएम घटक (यानी कई गिट रेपो) की आवश्यकता है (या तो उन्हें पढ़ना या उन्हें संशोधित करना), आपको submodules के साथ एक या कई मुख्य परियोजना की आवश्यकता होगी (http://stackoverflow.com/questions/1979167/ देखें Git-submodule अद्यतन/1979194 # 1979194) – VonC

1

शाखाओं और रेपोस के बारे में के साथ सिंक में रखने के लिए है, मैं, एक VOB == एक Git रेपो शासन के साथ जाना होगा के बाद से Git रेपो वास्तव में क्या मतलब है एक परियोजना द्वारा उपयोग किया जाना चाहिए, वैसे ही vobs के लिए।

शाखाओं के लिए के रूप में, vobs भर में शाखा नाम/रेपोस मेल खाना चाहिए। गिट में submodules पर एक नज़र डालने के लिए यह देखने के लिए कि क्या यह आपके मामले में इस्तेमाल किया जा सकता है।

जो मैं व्यक्तिगत रूप से देखना चाहता हूं वह एक परिपक्व गिट-सीसी बैकएंड है, जो मुझे मेरे देव-बॉक्स पर गिट का उपयोग करने की अनुमति देगा, जबकि कॉरपोरेट सीसी रिपोजिटरी के साथ सिंक करने में सक्षम होने के लिए मुझे मजबूर होना पड़ता है।

4

जबकि मैं जरूरी नहीं कि यह दोनों को सिंक करने का 'सर्वश्रेष्ठ' तरीका सुझाए, तो आप इतिहास को आयात कर सकते हैं और मेरे गिट-सीसी उपकरण के माध्यम से क्लीयरकेस में बदलावों को वापस धक्का दे सकते हैं, जैसा कि here का उल्लेख किया गया है।

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