विलय और अधिग्रहण के कारण विभिन्न संस्करण नियंत्रण प्रणालियों को एकीकृत करने या दूसरों को चुनने के लिए विधि?


11

कंपनियां अन्य कंपनियों का अधिग्रहण करती हैं जो विभिन्न संस्करण नियंत्रण प्रणालियों का उपयोग करती हैं।

क्या इस तरह की प्रणालियों को एक साथ एकीकृत करने के बारे में एक सामान्य ज्ञान है, उदाहरण के लिए एक सबवेरसन-जीआईटी पुल का उपयोग करना या यहां तक ​​कि केवल एक उपकरण का दूसरे पर उपयोग करने का निर्णय लेना - और प्रणालियों के बीच कैसे पलायन करना है?

क्या लोग ऐसे निर्णय लेने के लिए मापदंड का एक सेट का उपयोग करते हैं, उदाहरण के लिए सॉफ्टवेयर विकास पर "जोएल" परीक्षण के बराबर?

जवाबों:


11

कई प्रवासियों के व्यक्तिगत अनुभव से माइग्रेशन प्रश्न का उत्तर देने के लिए:

बस आधार रेखा के रूप में नए स्रोत नियंत्रण प्रणाली में सॉफ्टवेयर के वर्तमान संस्करण को डालने और वहां से काम करने से डरो मत।

उस समय का अधिकांश हिस्सा आपको इतिहास की आवश्यकता नहीं होगी। इसका मतलब है कि एकीकरण के दौरान प्रदर्शन करना एक कम काम है और गलत काम करना कम करना है।

सक्रिय रूप से विकसित की जा रही फाइलें / परियोजनाएं जल्द ही एक नया इतिहास तैयार करेंगी। इसलिए जब आपको यह पता लगाने की आवश्यकता होती है कि बदलाव क्यों किया गया है तो संभावना है कि इतिहास वर्तमान रिपॉजिटरी में होगा क्योंकि यह हालिया बदलाव होगा।

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


+1 उचित बिंदु, केवल उसी चीज़ को माइग्रेट करें जो आपको चाहिए, पुराने संस्करणों को विरासत के पिछले भंडार में छोड़ दें। अपनी खातिर प्रवास न करें। यह दृष्टिकोण आयोजन बनाम खोज के बीच चुनाव के लिए दृष्टिकोण का एक बदलाव है। यदि खोज आपको वह प्राप्त कर सकती है जो आप जल्दी से चाहते हैं, तो हर बार तब जो आप खोजते हैं उसे व्यवस्थित करने की कोई आवश्यकता नहीं है।
उपचार 12

1
+1 IMO सबसे अच्छी रणनीति। केवल एक मामले में, अन्य केवल पढ़ने के लिए मोड का उपयोग करते रहें।
user281377

1
+1: माइग्रेशन भाग पर अधिक सटीक उत्तर।
VonC

1
+1 - मौजूदा कोड को समझने के लिए पर्याप्त रूप से अकेला अंतिम तीन संस्करण हैं।
13

1
हमने कई सीवीएस रिपॉजिटरी को शांत cvs2svn स्क्रिप्ट का उपयोग करके एसवीएन में बदल दिया, जो वास्तव में अच्छी तरह से काम करता था। मुझे कभी भी किसी को इतिहास को 'हाल के परिवर्तनों' से परे देखने की याद नहीं है, इसलिए यह वास्तव में अपमान के लायक नहीं था। अगर मैंने इसे फिर से किया है, तो मैं सिर्फ सीवीएस रेपो को टैग करूँगा, एसवीएन को नए के रूप में जांचें और फिर सीवीएस रेपो को केवल-पढ़ने के लिए चिह्नित करें।
JBRWilkinson

4

प्रबंधकीय पक्ष पर, यह मुख्य रूप से एक प्रश्न है:

  • समर्थन : क्या वीसीएस जारी करने वाली कंपनी अभी भी परेशानी के मामले में रहेगी।
    यह दुख की बात है कि ClearCase जैसे अप्रचलित उत्पादों को अभी भी मुख्य कारण माना जाता है (ClearCase 2003 के बाद से ... आईबीएम उत्पाद)
  • लाइसेंस की लागत : यहां तक ​​कि अगर फ्रीवेयर विकल्प हैं, तो कभी-कभी वीसीएस के लिए "समूह लाइसेंस" पर बातचीत की जा सकती है या वास्तव में सर्वर, नेटवर्क, समर्थन आदि सहित बहुत बड़े अनुबंध में शामिल किया जाता है ... इस तरह के उत्पाद के लिए एक वैश्विक लाइसेंस समाप्त हो सकता है। सार्वजनिक मूल्य से बहुत कम खर्च हुआ।

परियोजना की ओर, यह भी एक सवाल है:

  • प्रशासन : यदि आप Git, SVN और अन्य के बारे में बात कर रहे हैं, तो आप किस सर्वर पर VCS (या कई VCS) स्थापित करेंगे? किस बैकअप पॉलिसी के साथ? क्या DRP (Disastry Recovery Plan) है?
  • स्थानीय समर्थन : स्तर 1 का समर्थन कौन करेगा,? लेवल 2?
  • बाजार का ज्ञान : क्या आप इस वीसीएस और इसकी सभी सुविधा का लाभ उठाने के लिए सही ज्ञान के साथ पर्याप्त डेवलपर्स और / या प्रशासक ढूंढना सुनिश्चित करते हैं?

फ्रीवेयर या नहीं, "फ्री स्पीच" के रूप में एक "फ्री" सॉफ्टवेयर मुफ्त है याद रखें (आप जिसे चाहें चुनना और तैनात करना चाहते हैं), "फ्री बीयर" के रूप में नहीं (यह अभी भी सर्वर में बहुत पैसा खर्च करेगा) , बैकअप, प्रशासन, समर्थन, ...)

उपरोक्त मानदंड में वीसीएस को रखने के लिए क्या छोड़ना है, यह निर्धारित करने के लिए एक शुरुआत है।
लेकिन बाद के मामले में, आपको विचार करने की आवश्यकता है:

  • माइग्रेशन रणनीति : क्या आप प्रोजेक्ट इतिहास को एक VCS से दूसरे में निर्यात / आयात कर सकते हैं?
  • पुल की रणनीति : क्या इसका मतलब दो अलग-अलग वीसीएस में एक इतिहास है?
  • प्रोजेक्ट अप्रचलन : यदि कोई परियोजना रखरखाव / जीवन की समाप्ति की स्थिति में है, तो थोड़ी देर के लिए पुराने वीसीएस का समर्थन करना बेहतर हो सकता है।

+1 अच्छा जवाब, बुलेट बिंदु उन मानदंडों को रेखांकित करता है जो मैं देख रहा हूं, और उनके साथ आपके स्पष्टीकरण भी मदद करते हैं। मैं उत्तर स्वीकार करने से पहले दूसरों को एक मौका दूंगा। धन्यवाद।
12

1

क्या आपको वास्तव में विभिन्न प्रणालियों को एकीकृत करने की आवश्यकता है? हमारी टीम में, प्रत्येक परियोजना अपने स्वयं के भंडार में रहती है, और उनके इतिहास इस प्रकार स्वतंत्र हैं। हमारे यहां कोई समस्या नहीं है कि कुछ परियोजनाओं को तोड़फोड़ के तहत और कुछ अन्य को मर्क्यूरियल के तहत काम करना है, भले ही उनके बीच निर्भरता हो।

यदि आप एक VCS से दूसरे में माइग्रेट करना चुनते हैं, तो उपलब्ध रूपांतरण टूल देखें। मेरे अनुभव से, परियोजनाओं के इतिहास को छोड़ने का कोई तकनीकी कारण नहीं है।

संपादित करें

मुझे लगता है कि मुझे कुछ समझ में आया, जो प्रश्न में और दूसरे उत्तरों में निहित था। यह तथ्य है कि वीसीएस का उपयोग निर्भरता के प्रबंधन के लिए भी किया जाता है। मुझे पता है कि वीसीएस सुविधाओं का उपयोग करना काफी सामान्य है जैसे svn:externalsएक रेपो (निर्भरता) को दूसरे के साथ एकीकृत करना।

मुझे लगता है कि तकनीकी (तकनीकी) कारण से हमारी टीम को हमारे 2 अलग-अलग सिस्टमों को पाटने (या एकीकृत) करने की आवश्यकता महसूस नहीं होती है, हमारे पास निर्भरता को प्रबंधित करने के लिए एक अलग उपकरण है। हमारे रेपो एक दूसरे को नहीं जानते।


विभिन्न प्रणालियों को एकीकृत करने की आवश्यकता है? हां अगर एक टीम के काम का इस्तेमाल दूसरी टीम द्वारा किया जाता है। एकीकरण आवश्यक हो सकता है और उपलब्ध स्टाफ के स्तर के आधार पर तंग या खो सकता है। नहीं, अगर परियोजनाएं पूरी तरह से स्वतंत्र हैं। केवल शेष चिंता एक से अधिक प्रणाली का समर्थन कर रही है और क्या यह एक अच्छी या बुरी चीज मानी जाती है। अच्छा है अगर हम स्वीकार करते हैं कि हम एक अलग कंप्यूटिंग दुनिया में रहते हैं या बुरा है अगर हम सोचते हैं कि हमें ध्यान केंद्रित करना चाहिए और अपनी खुद की खातिर निर्णायकता दिखानी चाहिए, एक उपकरण को स्वयं चुनकर जो अत्यधिक समग्र हो सकता है!
14

पुनश्च। +1 भाग्यशाली आप, बर्जक, एक संगठन में होने के लिए जो विविध कंप्यूटिंग वातावरण को सहन करता है।
14

0

बहुत अच्छे जवाब। एक और सोचने वाली बात यह है कि टीम के सदस्यों को यह सोचकर दूर नहीं जाने देना चाहिए कि वीसी को बदलना इतना बड़ा काम है। प्रवास, एक सीखने की अवस्था, आदि के साथ एक झटका होगा, लेकिन अगर उन्हें बहुत अधिक समस्याएं हैं, तो उन्हें अपनी क्षमता और / या सहयोग के स्तर पर सवाल उठाने की आवश्यकता है।


+1 यहाँ एक यथार्थवाद। लोगों को अपनी नसों को पकड़ने, बहादुर बनने और आगे बढ़ने की जरूरत है। जोखिमों को अच्छी तरह से परिभाषित करने की आवश्यकता है। एक सीख जो मैं देख रहा हूँ और दूसरे लोग कहते हैं कि मेरे कार्यस्थल में यह कहा जाता है कि कभी-कभी हम अनिश्चितता को कम करने में पर्याप्त परिश्रम नहीं करते हैं / संलग्न होने से पहले जोखिमों / आकस्मिकताओं को स्पष्ट रूप से परिभाषित करते हैं। ऐसा लगता है कि गेट-इट-गलत / फिक्स इट्रेशन के लिए बहुत समय है लेकिन इतना समय नहीं है कि इसे सही समय पर प्राप्त कर सकें। समस्याओं को ठीक करने को पुरस्कृत किया जाता है और प्रगति में गतिविधि के रूप में देखा जाता है, भले ही कभी-कभी वे अनावश्यक थे।
इसके बाद

1
यह विचाराधीन वीसीएस पर निर्भर करता है और माइग्रेशन कितना अच्छा है। Git या CVS से किसी भी लॉकिंग VCS में जाना बेहद परेशान करने वाला है।
डेविड थॉर्नले
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.