version control आप 1000+ डेवलपर संगठन के लिए किस संस्करण नियंत्रण प्रणाली का उपयोग करेंगे? क्यूं कर?




version-control dvcs (30)

1000+ श्रमिकों के साथ कुछ कंपनियों पर काम करने के बाद, मैंने पाया है कि बड़े-बड़े, वे सभी का उपयोग करें प्रभाव।

मैंने पूछा है "आप कुछ और क्यों नहीं इस्तेमाल करते हैं? एसवीएन? गिट? मर्क्यूरिअल? डार्कस?" - और उन्होंने कहा है कि (ये सभी कंपनियों के लिए यही है) - जब उन्होंने निर्णय लिया निष्पादन, यह या तो, या SourceSafe, या सीवीएस - और ईमानदारी से, उन तीन विकल्पों को दिया, मैं भी साथ में जाना था, भी।

बहुत अधिक लोगों के साथ कर्षण हासिल करने के लिए 'अधिक मुश्किल' संस्करण नियंत्रण प्रणालियों के लिए यह कठिन है, और जब आप एक-दूसरे के 18 फीट के भीतर काम कर रहे हैं, तो आपके बहुसंख्यक सॉफ्टवेयर टीमों में डीसीवीएस के बहुत फायदे कम फायदेमंद होते हैं।

डेवलपर के उपयोग के लिए प्रबलबल में कई एपीआई हुक हैं, और एक केंद्रीकृत प्रणाली के लिए, इसे बहुत सारे चुट्ज़पा मिल गया है।

मैं यह नहीं कह रहा हूं कि यह सबसे अच्छा समाधान है- लेकिन मैंने कम से कम कुछ बड़ी कंपनियों को देखा है, जहां परफ़ेंस काम करता है, और अच्छी तरह से पर्याप्त है कि यह लगभग सर्वव्यापी है

https://code.i-harness.com

वहां कई एससीएम सिस्टम हैं कुछ खुले, कुछ बंद, कुछ मुफ्त, कुछ काफी महंगा। कौन सा (केवल एक चुनिए) क्या आप कई साइटों के साथ एक 3000+ डेवलपर संगठन के लिए उपयोग करेंगे (कुछ बहुत धीमे लिंक के पीछे)? समझाएं कि आपने जो चुना है उसे चुना है। (कुछ कारण बताएं, न सिर्फ "क्योंकि"।)


Adobe Perforce का उपयोग करता है


Google पर एक ही सर्वर पर 5000+ उपयोगकर्ताओं के लिए स्केल योग्य साबित हुआ है, देखें: एज पर जीवन: मॉनिटरिंग और एक बहुत बड़ी ताकत लगाए जाने की स्थापना

यह प्रतीत होता है कि कई बड़ी सॉफ्टवेयर कंपनियां परास्त का उपयोग करती हैं, या तो उनके मुख्य एससीएम उदाहरण के लिए: एडोब, सिस्को, एसएपी, सिमेंटेक, ईए, यूबीएसफ्ट और ऑटोोडस्क सभी पर्लफोन्स यूजर्स हैं यह सही नहीं है, लेकिन यह अभी भी एसवीएन या टीएफएस से बेहतर है (जो भी नहीं है, यह अपने आप में बुरा है)


अगर वे सभी एक ही उत्पाद पर काम कर रहे हैं, शायद असफल

अगर बहुत छोटी परियोजनाएं हैं (2 से 50), तो मैं कई सबवर्जन (एसवीएन) बक्से चलाऊँगा।


किसी भी डीवीसीएस (बिटकापीर, जीआईटी, बाजार, मर्क्यूरीयल, आदि) वितरित होने के कारण केंद्रीय 'कैनोनिकल' एससीएम सर्वर पर भार घटा दिया जाएगा चेतावनी यह है कि वे काफी नई तकनीक हैं और बहुत से लोग अपने उपयोग से परिचित नहीं होंगे

यदि आप पुराने, केंद्रीकृत मॉडल से चिपके रहना चाहते हैं, तो मैं परामर्श करने की सलाह देता हूं यदि आप इसे खरीद सकते हैं, या सबवर्जन अगर आप Perforce के लिए भुगतान नहीं करना चाहते हैं। मैं सीवीएस से ऊपर की तरंगों की सिफारिश करता था, क्योंकि इसे उपयुक्त बनाने के लिए पर्याप्त सुविधाएं मिलती हैं लेकिन यह बहुत समान है कि जो पहले से ही सीवीएस जानते हैं, वे अब भी सहज होंगे।


ख़ामख़ाह

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

ओह, मैं यह भी कहूंगा कि उसके पास सबसे अच्छे जीयूआई में से एक है, जबकि अभी भी एक प्रथम श्रेणी नागरिक कमांड लाइन इंटरफेस है I मैं आमतौर पर जीयूआई से नफरत करता हूं, लेकिन उनका काम करता है


गिट को लिनक्स कर्नेल के लिए लिखा गया था, जो ऐसी स्थिति का सबसे निकटतम उदाहरण हो सकता है जिसे आप सार्वजनिक जानकारी प्राप्त कर सकते हैं।


प्रतिबल के रूप में भी मेरा वोट हो जाता है मैंने ऐसी बड़ी परियोजनाओं पर इसका उपयोग नहीं किया है, लेकिन मेरे पर्यावरण में यह बिल्कुल ठोस है इसके साथ ही बड़ी परियोजनाओं का एक शानदार पुनरारंभ भी है, साथ ही साथ।

[अफवाह] मैंने सुना है कि माइक्रोसॉफ्ट ने इसे विस्टा के लिए इस्तेमाल किया है। [/ अफवाह] जाहिर है यह उनके लिए एक अनुकूलित संस्करण था, लेकिन यह उस से ज्यादा बड़ा नहीं मिलता है


प्रबल और टीएफएस ही एकमात्र विकल्प हैं जो मुझे पता हैं I मुझे पता है कि उन दोनों को माइक्रोसॉफ्ट के भीतर बड़े पैमाने पर परियोजनाओं पर इस्तेमाल किया गया है वॉल्ट उस बड़े पैमाने पर हो सकता है , लेकिन मुझे नहीं पता कि क्या यह 500-1000 उपयोगकर्ताओं से परे है


मजबूर एक सभ्य प्रणाली है, और अच्छी तरह से तराजू है।

मैं लगभग 5000 कर्मचारियों के संगठन में काम कर रहा हूं, और प्रबल एक तेज और कुशल प्रणाली है यह अच्छी तरह से तराजू है, अच्छा शाखा समर्थन है, परमाणु प्रतिबद्ध है प्रत्येक परिवर्तन में एक परिवर्तन संख्या होती है जिसका उपयोग "सॉफ्टवेयर पुरातत्व" और अन्य महान विशेषताओं के लिए किया जा सकता है

इसके अतिरिक्त, इसमें विंडोज़, मैक और यूनिक्स के लिए अच्छा कमांड लाइन और अच्छा स्क्रिप्ट समर्थन शामिल है।

मैंने सीवीएस का उपयोग पहले किया है, और यह लगभग 25-50 इंजीनियरों (ज्यादातर परमाणु संचालन और प्रदर्शन की वजह से) से अधिक समूहों को अच्छी तरह से नहीं बढ़ाता है


मैं git कहना चाहता हूँ, लेकिन नहीं लगता कि उस आकार की कंपनी सभी लिनक्स (जीआईटी के लिए विंडोज़ समर्थन अभी भी बेकार है) होने जा रही है। इसलिए एससीएम के साथ चलें जो जीआईटी के पहले लिखेक्स का इस्तेमाल होता है


मैं बिटकिपर का उपयोग करेगा मैंने बिटरकीपर, स्प्रैससेक, एक्विविय, प्रबल, वर्जन, सीवीएस, एसकेसीएस और आरसीएस का उपयोग किया है, और उन सभी बिटरकीपरों में से सबसे अच्छा और सबसे ऊपर है मैं git के साथ toyed है और इसकी गति से प्रभावित था, लेकिन मैंने सोचा था कि इसकी UI थोड़ा बोझिल था (हालांकि यह राय केवल आधे दिनों के एक जोड़े के लिए इसका उपयोग करने के बाद बनाई गई थी)।

बिटकिपर बल्कि सीढ़ीदार लग GUIs हैं लेकिन वे असाधारण रूप से कार्यात्मक हैं बिटकिपर कमांड लाइन टूल्स, यकीनन सर्वोत्तम-की-नस्ल और इसकी मर्ज क्षमताओं बिल्कुल बढ़िया हैं।

Bitcaper (और यह शायद सभी वितरित सिस्टमों के बारे में सच है) के बारे में मुझे क्या पसंद आया, यह है कि शाखाएं गंदगी सस्ते थीं शाखाओं को बनाने के लिए कुछ भय की बजाय जीवन का एक तरीका था


मैं वास्तव में टीम फाउंडेशन सर्वर की जांच करूँगा यह एक बहुत अच्छी प्रणाली है जो स्केल कर सकता है और आंतरिक विभागों के माध्यम से प्राप्त करना संभवतः आसान है। मुझे पता है कि यह विंडोज केंद्रित है लेकिन आप लिनक्स / मैक के लिए ऐड-ऑन का भी उपयोग कर सकते हैं और आप धीमे कनेक्शन के साथ कुछ साइटों के लिए प्रॉक्सी का उपयोग कर सकते हैं।

और मैं एक बड़े संगठन में 2 सिस्टम होने के बारे में सोचूंगा, यह कुछ अलग-अलग मामलों में सबसे अच्छा पाने में मदद कर सकता है।


यदि आप एक ही कोडबेस पर 3000+ डेवलपर्स विकिरण चाहते हैं, तो मुझे कोई सुराग नहीं मिला है। यदि आप विभिन्न स्थानों पर कई सौ परियोजनाओं पर काम करना चाहते हैं और आपको एक मानक की आवश्यकता है, तो मैं एक विशाल ऑनलाइन प्रयोक्ता सहायता के साथ लोकप्रिय किसी चीज़ के लिए जाना चाहता हूं, जो कुछ अछूत नहीं है जो आपको Google पर 10 हिट देता है।

निजी तौर पर मैं एसवीएन के लिए तय करेगा, मैं कई सैकड़ों देवों के साथ एक आईटी डिपार्टमेंट पर हूं और बेहतर स्रोत नियंत्रण ऐप एसवीएन है

:)

// डब्ल्यू


यदि आपके पास 1000+ डेवलपर्स हैं जो एक सॉफ़्टवेयर पर काम कर रहे हैं, तो आपके पास बहुत सारे टूलिंग में निवेश करने के लिए संसाधन हैं। जो भी आप चुनते हैं, आप शायद अपनी स्थिति में इसे अनुकूलित करने के लिए बहुत सारे काम करेंगे।

माइक्रोसॉफ्ट के टीम फाउंडेशन सर्वर का उपयोग कुछ बहुत बड़ी टीमों में माइक्रोसॉफ्ट के भीतर किया जाता है, और टीएफएस टीम इसे अच्छी तरह से विकसित करने पर काम कर रही है इसके अलावा, स्रोत नियंत्रण और बग ट्रैकिंग का एकीकरण आकर्षक है यह सस्ता नहीं है, और प्रशासन एक परेशानी के लिए पर्याप्त है कि यह छोटी टीमों को अच्छी तरह से नीचे नहीं बढ़ाता है, लेकिन आपकी स्थिति के लिए, आप उन लागतों को वहन कर सकते हैं। आप संभवत: माइक्रोसॉफ्ट जैसे बड़े समर्थन संगठन पर कॉल करने में सक्षम होना चाहते हैं, जब आप परेशान हो जाते हैं (लेकिन अगर आप मुफ्त सॉफ्टवेयर के साथ जाते हैं, तो आपके पास उस समर्थन को घर में रखने का विकल्प होता है)।

यदि आपके पास अपनी कंपनी में 1000+ इंजीनियर हैं, लेकिन वे सॉफ्टवेयर के टुकड़ों पर काम कर रहे हैं जो अलग से जहाज करता है, तो मुझे लगता है कि आप अपने प्रत्येक सर्वर को अपने स्वयं के सर्वर पर रखना चाहते हैं। इससे प्रदर्शन स्तर बेहतर होता है, साथ ही प्रशासन भी। मैं स्रोत नियंत्रण के लिए सिर्फ एक तकनीक पर जोर देता हूं, हालांकि।


यदि आपके पास ऐसे बड़े संगठन हैं तो एक विशिष्ट एससीएम को जनादेश नहीं दें।

मुझे यकीन है कि वे सभी एक ही कोड पर काम नहीं कर रहे हैं और टीमों को खुद चुनने देने के लिए लायक होगा, जो वे सबसे अधिक आरामदायक हैं।

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


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

सबवर्सन वास्तव में आसान है, सीवीएस से बेहतर है

मैं git की सिफारिश की है अगर केवल अपने विंडोज़ समर्थन बेहतर था


सबसे पहले, सीवीएस पर बड़ी संख्या 2008 में सीवीएस का उपयोग करना एक 92 इज़ूजु ट्रोपर को चलाने की तरह है एकमात्र कारण है कि वे सड़क पर हैं, और जो लोग उन्हें बनाए रखने के लिए पैसा खर्च करते हैं, केवल भावुक कारणों के लिए है। सीवीएस पुरानी टोपी, तकनीक-वार है, और आपको इसे पछतावा होगा।

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

यह मुझे आश्चर्यचकित करता है कि एससीएम पेशेवरों के लिए कितने लोग 'मुफ्त' के साथ जाते हैं सतह पर यह प्रबंधन के लिए बहुत अच्छा लग रहा है, लेकिन जब आप बंदूक के अंतर्गत होते हैं तो यह आपके पक्ष में एक उच्च गुणवत्ता वाला समर्थन टीम बनाने में मदद करता है। जब आप रविवार को 3:00 बजे तक जागते हैं, क्योंकि सिंगापुर में आपकी टीम कोई काम नहीं कर सकती, तो आप 'मुफ्त' सोच नहीं रहे होंगे एक अच्छा विचार है।

स्रोत नियंत्रण उपकरण मिशन महत्वपूर्ण हैं, आप कंपनी की संपत्ति और बौद्धिक संपदा के बारे में बात कर रहे हैं स्रोत नियंत्रण उपकरण पर कंपाइप मत करो, कभी!


सीवीएस का उपयोग न करें !! यदि आप सीवीएस मॉडल चाहते हैं तो सबवर्सन एक बेहतर विकल्प है।


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

मैं प्रबल के लिए वोट


TortiseSVN (विंडोज पर) के साथ एसवीएन शानदार है। मैं इसकी पुरजोर सलाह देता हूँ।


मैं AccuRev का उपयोग करेगा मैंने एसवीएन, सीवीएस, स्पेसकेस (आधार, यूकेएम), सीसीसी / फसल का इस्तेमाल किया है, लेकिन उनमें से कोई भी एक्विइव की शक्तियों को नहीं हरा सकता है "कई साइट के साथ 3000+ डेवलपर संगठन"? आप उस के लिए एक्काइवर वितरित समाधान (एक्वाप्रोपिका) का उपयोग कर सकते हैं - जिसका मतलब है कि आपके पास एक मास्टर सर्वर है और आप रिमोट साइटों पर प्रतिकृतियां चाहते हैं (इसलिए "धीमी लिंक" वाले लोगों को बहुत नुकसान नहीं होगा)

सभी के ऊपर AccuRev एक अनोखी दृष्टिकोण लाता है - स्ट्रीम-आधारित एससीएम उपकरण का वास्तव में एक नया अवधारणा / डिजाइन / कार्यान्वयन नहीं (खराब) तरीके से ClearCase-UCM ने ऐसा किया (क्योंकि ClearCase "धाराओं" अंततः शाखाएं थे), लेकिन आधुनिक तरीके से आधुनिक।

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


मुझे संदेह है कि आपके पास अपने संगठन में 3000 डेवलपर्स हैं, जो सभी एक ही कोड आधार पर कार्य करते हैं। मैं एक मध्यम-बड़ी सॉफ़्टवेयर कंपनी के लिए काम करता हूं, और शायद हम पूरी कंपनी में बहुत से नहीं हैं, लेकिन कई स्वतंत्र परियोजनाएं भी हैं

आंतरिक रूप से कुछ समूह अपने उत्पादों में उपयोग करने के लिए अन्य समूहों को रिलीज़ करते हैं; यह एक एससीएम प्रणाली के माध्यम से प्रबंधित नहीं है

हमारे अपने समूह का अपना एससीएम है, लेकिन केवल 25 सक्रिय डेवलपर्स हैं हम सीवीएस का उपयोग करते हैं, और काफी ईमानदार होने के लिए यह वास्तव में नहीं है (हम माइग्रेट करते हैं, लेकिन बहुत सारी स्क्रिप्ट / हुक और अन्य बिट्स और टुकड़े हैं जिन्हें बदलने के लिए बहुत काम की आवश्यकता होती है)। उचित आकार कोड बेस पर सीवीएस का प्रयोग करने में समस्या यह है कि कई ऑपरेशन बहुत धीमे हैं और इसमें अन्य डेवलपर्स को लॉक करने में शामिल है।


ठीक है, पूर्ण अस्वीकृति: मैं एमकेएस नामक कंपनी के लिए एक डेवलपर हूं जो "एंटरप्राइज" कंपनियों के लिए एक संस्करण नियंत्रण प्रणाली बनाता है जिसे इंटिग्रिटी नामक सॉफ़्टवेयर कॉन्फ़िगरेशन प्रबंधन प्लेटफॉर्म के भाग के रूप में ब्ला ब्ला ब्ला, स्पष्ट प्लग

इसलिए मैं ईमानदारी से इस सवाल का जवाब नहीं दे सकता।

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

1000+ डेवलपर्स वाली एक कंपनी यह जानना चाहती है कि सभी लोग जो कर रहे हैं वह कर रहा है और कोई भी ऐसा नहीं कर रहा है जो वे नहीं करना चाहते हैं, सब कुछ ट्रैक किया जाता है और प्रबंधकों को अच्छी रिपोर्ट और रेखांकन मिलते हैं ताकि वे PowerPoint स्लाइड में पेस्ट कर सकें उनके प्रबंधकों के लिए

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


चलिए विकल्पों को देखते हैं

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

2 - एसवीएन के रूप में अच्छी तरह से बड़ी टीमों द्वारा उपयोग किया जाता है, KDE वर्तमान में 880,000 (हां!) संशोधन (विशाल, विशाल परियोजना) का उपयोग करता है Windows और Linux दोनों के लिए बहुत व्यावहारिक (हालांकि मैं कुछ पहलुओं में औसत से नीचे टोर्टोइज़ एस वी एन को कॉल करता हूं) वाणिज्यिक समर्थन अनुबंधित किया जा सकता है भी। विंडोज / लिनक्स / मैक के लिए अच्छा भी है

3 - Accurev अगर मैं "edgy" होने की कोशिश कर रहा था मैं इसे पूरी कंपनी पर कुछ परीक्षण के बिना तैनात नहीं करता था और इसे पहली बार इस्तेमाल कर रहा था।

4 - एमएस टीम फाउंडेशन यह एक अच्छा समाधान हो सकता है लेकिन मैंने कभी कोशिश नहीं की और संभवत: केवल विंडोज़ है

5 - जीआईटी / बीजर / एचजी - बीजर और एचजी के पास अपने "कछुए" हैं, इसलिए विंडोज के लिए अच्छा (भले ही मुझे परिपक्वता के बारे में निश्चित न हो) Git केवल समय के लिए लिनक्स होगा, हालांकि यह बहुत अच्छी है (और कुछ साल पहले की तुलना में बेहतर और आसान है)।

मैं कभी नहीं, कभी, पूरी तरह से कोई रास्ता नहीं जोस Clearcase का उपयोग करें अवधि यह हर किसी के पैसे और समय और विवेक की बर्बादी है।

इसके बारे में स्पष्ट: सीवीएस / कस्ट्रेस / पुराने कुछ भी


  • ऐसी बड़ी स्थापना के लिए, कम से कम निम्नलिखित प्रमुख आवश्यकताएं हैं: डेटा सुरक्षा , परिपक्वता, दृढ़ता, स्केलेबिलिटी , मूल्य (प्रति सीट लाइसेंस बनाम ओपन सोर्स हमेशा प्रति सीट पर ध्यान दिए बिना एक बड़ा अंतर बनाता है), प्रशासन में आसानी
  • मुझे लगता होगा कि तोड़फोड़ सिर्फ ठीक होगा।
  • समर्थन उपलब्ध है ( कोलाबनेट , स्पेयरविजन , वंडस्को और अन्य) से। आप उनसे पूछ सकते हैं कि क्या उपकार आपके कार्य को संभालने में सक्षम होगा।
  • तोड़फोड़ में एक बहुत ही परिपक्व डेटाबेस बैकएंड है - एफएसएफएस यह बिल्कुल चट्टान ठोस है और 1.5 के बाद से यह प्रदर्शन में गिरावट के बिना वास्तव में कई संशोधनों को संभाल सकता है। संशोधन एक फ़ाइल सिस्टम में लिखे गए हैं। इसलिए आपके सबवर्सियन रिपॉजिटरी की विश्वसनीयता आपके फाइल सिस्टम, ओएस और स्टोरेज सिस्टम की गुणवत्ता पर निर्भर करती है।
  • यही कारण है कि मैं फाइल सिस्टम के रूप में ZFS के साथ सोलारिस 10 का सुझाव दूंगा । ZFS वास्तव में उत्पादन प्रणालियों के लिए महान फ़ाइल सिस्टम सुविधाएँ है लेकिन इससे ऊपर यह डेटा अखंडता चेकसमिंग प्रदान करता है। तो उपखंड रिपॉजिटरी में स्रोत कोड की इस राशि के साथ आपको एक हार्ड ड्राइव बिट त्रुटि या नियंत्रक या केबल बिट त्रुटि के कारण रिपॉजिटरी भ्रष्टाचार के बारे में चिंता करने की आवश्यकता नहीं होगी। अब तक ZFS पर्याप्त परिपक्व है कि इसे यूएफएस के रूप में सुरक्षित रूप से इस्तेमाल किया जा सकता है या जो भी प्रतिस्थापन
  • मुझे हार्डवेयर की आवश्यकताओं के बारे में नहीं पता है शायद कॉलबैनेट आपको सलाह दे सकता है
  • लेकिन वास्तव में एक अच्छी शुरुआत (जिसे एनएफएस भंडारण या बैकअप भंडारण के रूप में इस्तेमाल किया जा सकता है अगर यह बहुत धीमा हो जाता है - आप निश्चित रूप से इसका अच्छा उपयोग करने में सक्षम होंगे) एक दूसरी पीढ़ी के थम्पर होगा , यानी सन फायर X4540 सर्वर : आप 80,000 डॉलर के लिए एक अच्छा 4U रैक सर्वर के भीतर (सभी सूची मूल्य - यह संभावना परोक्ष होगा) हो सकता है: 48 टीबी डिस्क स्थान !, 8 AMD Opteron CPU कोर, 64 जीबी रैम, सोलारिस 10 प्रीइंस्टॉल्ड, 3 साल प्लैटिनम सूर्य से सॉफ्टवेयर और हार्डवेयर समर्थन तो इस सर्वर के लिए केवल हार्डवेयर और समर्थन मूल्य आपके 3000 डेवलपर्स की प्रति सीट 25 डॉलर होगी।
  • वास्तव में महान डेटा सुरक्षा को आश्वस्त करने के लिए, आप 48 हार्ड ड्राइव को निम्न प्रकार से विभाजित कर सकते हैं: ऑपरेटिंग सिस्टम के लिए 3 ड्राइव (3-रास्ता रेड -1 मिरर), 3 गर्म पुर्जों (उपयोग नहीं किया जाता है, विफलता के मामले में स्टैंड-बाय पर अन्य ड्राइवों में से), उपविभाग भंडार के लिए 14 3-रास्ता रेड 1 दर्पण (14 * 3 = 42 ड्राइव्स) का एक zfs पूल। यदि आप केवल 14% टीबी जेडएफएस रेड स्पेस को 80% से भरना चाहते हैं तो यह रिपॉज़िटरी के लिए लगभग 10 टेबिबाइट असली प्रयोग करने योग्य डिस्क स्थान होगा, अर्थात प्रति डेवलपर 3 जीबी का औसत
  • इस कॉन्फ़िगरेशन के साथ: 10 TiB 3-रेड-रेड-1 जेडएफएस रिडंडंट और चेकस्मीड डिस्क स्पेस के साथ सूर्य x4540 थंबर पर सबवर्जन 1.6 वास्तव में एक गंभीर शुरुआत होनी चाहिए।
  • यदि कंप्यूट पावर 3000+ डेवलपर्स के लिए पर्याप्त नहीं है, तो आप एक बीफियर सर्वर खरीद सकते हैं जो थंबर की डिस्क स्पेस का उपयोग कर सकता है। यदि डिस्क प्रदर्शन बहुत धीमा है, तो आप कंप्यूट सर्वर पर फास्ट स्केसी ड्राइव की एक विशाल सरणी को हुक कर सकते हैं और बैकअप समाधान के रूप में थंबर का उपयोग कर सकते हैं।
  • निश्चित रूप से, यह इस सबवर्सियन सर्वर की योजना और तैनाती के संबंध में कोलाबनेट से परामर्श सेवाएं प्राप्त करने और सूर्य से हार्डवेयर और सौर ऊर्जा ऑपरेटिंग सिस्टम के लिए प्लैटिनम समर्थन प्राप्त करने का अर्थ होगा।
  • संपादित करें (टिप्पणी # 1 का उत्तर): वितरित टीमों के लिए एक मास्टर-गुलाम कॉन्फ़िगरेशन की संभावना है : WebDAV-Proxy प्रत्येक स्थानीय टीम में एक गुलाम सर्वर होता है, जो रिपॉजिटरी की प्रतिकृति करता है। डेवलपर्स इस दास से सभी चेकआउट प्राप्त करते हैं। चेकइन को गुलाम से मास्टर तक पारदर्शी रूप से अग्रेषित किया जाता है। इस तरह, मास्टर हमेशा चालू होता है। ट्रैफ़िक का विशाल बहुमत चेकआउट है: हर डेवलपर के पास प्रत्येक चेकक को हर डेवलपर के पास किया जाता है। इसलिए चेकआउट ट्रैफ़िक 99.97% यातायात के साथ 3000 डेवलपर्स होना चाहिए। यदि आपके पास 50 डेवलपर्स के साथ एक स्थानीय टीम है, तो चेकआउट ट्रैफ़िक को 98% कम कर दिया जाएगा। चेकइन कोई समस्या नहीं होनी चाहिए: कोई भी नया कोड कितनी तेजी से टाइप कर सकता है? जाहिर है, एक छोटी सी टीम के लिए आप एक थंबर नहीं खरीदेंगे आपको बस पर्याप्त हार्ड डिस्क स्पेस के साथ एक बॉक्स की आवश्यकता है (यानी यदि आप छेद रिपॉजिटरी 10TB को पकड़ना चाहते हैं) यह एक raid5 कॉन्फ़िगरेशन हो सकता है क्योंकि डेटा हानि कंपनी का अंत नहीं है। आपको सोलारिस की आवश्यकता नहीं होगी आप उस पर लिनक्स डाल सकते हैं यदि स्थानीय लोग इसके साथ अधिक आरामदायक होंगे। दोबारा: Collabnet जैसे एक सलाहकार से पूछें अगर यह वास्तव में एक ध्वनि अवधारणा है कई सीटों के साथ यह एक बार परामर्श के लिए भुगतान करने में कोई समस्या नहीं होनी चाहिए। वे पूरी बात सेट कर सकते हैं सूर्य सौर-पूर्व के साथ बॉक्स डिलीवर करता है। आपके पास सूर्य का समर्थन है तो आपको साइट पर सौर मंडल गुरु की आवश्यकता नहीं होगी, क्योंकि अगले वर्षों तक कॉन्फ़िगरेशन में बदलाव नहीं होना चाहिए। इस विन्यास का मतलब है कि
    • टीम से मुख्यालय तक की धीमी रेखा को निरर्थक चेकआउट डेटा से भरा नहीं जाएगा और
    • स्थानीय टीम के सदस्य अपने चेकआउट को जल्दी से प्राप्त कर सकते हैं
    • यह थंबर पर लोड को नाटकीय रूप से कम करेगा - इसका मतलब है कि उस विन्यास के साथ आपको चिंता करने की ज़रूरत नहीं है कि थंबर लोड को संभालने में सक्षम है या नहीं
    • यह बैंडविड्थ लागत को कम करता है
  • संपादित करें (एम 3000 के रिलीज़ होने के बाद): पागल डेटा अखंडता के प्रति और भी बहुत अधिक चरम हार्डवेयर कॉन्फ़िगरेशन एक एम 3000 सर्वर और एक J4500 सरणी का संयोजन होगा:
    • J4500 स्टोरेज एरे व्यावहारिक तौर पर एक थंबर है, लेकिन सीपीयू-पावर और बाह्य भंडारण इंटरफेस के बिना जो इसे किसी सर्वर से कनेक्ट करने में सक्षम बनाता है।
    • M3000 सर्वर उच्च अंत आरएएस सुविधाओं के साथ एक midrange कीमत पर एक स्पार्क 64 सर्वर है। अधिकांश डेटा पथ और यहां तक ​​कि सीपीयू रजिस्टरों को चेकसमेड किया जाता है, आदि। रैम केवल ईसीसी संरक्षित नहीं है लेकिन आईबीएम चिपकिल सुविधा के बराबर है: यह मेमोरी पर छापे: न केवल एक बिट त्रुटियों का पता लगाया और सही किया गया है, लेकिन पूरी मेमोरी चिप विफल हो सकते हैं पूरी तरह से तब तक कोई डेटा नहीं खोया जाता है - छापे के arrays में हार्ड ड्राइव को विफल करने के समान।
    • जैसा कि ZFS फाइल सिस्टम डेटा से पहले आने से पहले सीपीयू-आधारित त्रुटि चेकसमिंग करता है, या उसके बाद सीपीयू पर जाता है, भंडारण नियंत्रक की गुणवत्ता और J4500 की केबलिंग महत्वपूर्ण नहीं है। एम 3000 सीपीयू, मेमोरी, मेमरी कंट्रोलर आदि की बिट त्रुटि की रोकथाम और पहचान क्षमताएं क्या हैं I
    • दुर्भाग्य से, उच्च गुणवत्ता मेमोरी स्टिक सूरज गुणवत्ता में सुधार करने के लिए उपयोग कर रहा है और यह बहुत महंगा है कि चार कोर (आठ धागे) 4GB राम एम 3000 + 48 टीबी J4500 का संयोजन थंबर के बराबर होगा, लेकिन यदि आप सर्वर मेमोरी को 4 जीबी से 8, 16 या 32 जीबी के लिए मेमोरी कैशिंग प्रयोजनों में बढ़ाना है, कीमत तेजी से बढ़ जाती है लेकिन वितरित टीमों के मास्टर-गुलाम कॉन्फ़िगरेशन का उपयोग करने के लिए संभवतः 4 जीबी कॉन्फ़िगरेशन भी पर्याप्त होगा।
    • यह हार्डवेयर संयोजन एक विचार के लायक होगा यदि इस 3000 डेवलपर रिपॉजिटरी की स्रोत कोड और डेटा अखंडता प्रबंधन द्वारा बेहद महत्वपूर्ण है। फिर यह दो या अधिक ठंपरों को घूर्णन बैकअप समाधान के रूप में जोड़ने का मतलब भी होगा (हार्डवेयर विफलता के खिलाफ की रक्षा के लिए आवश्यक नहीं, बल्कि प्रशासक गलतियों या भौतिक दूतावासों के मामले में ऑफ-साइट बैकअप के विरुद्ध सुरक्षा के लिए)।
    • चूंकि यह एक स्पार्क होगा और एक्स 86 समाधान नहीं होगा, इस प्लेटफार्म के लिए स्वतंत्र रूप से उपलब्ध कॉलबैनेट सबवर्जन बायनेरीज़ प्रमाणित हैं।
  • तोड़फोड़ के फायदों में से एक भी उत्कृष्ट दस्तावेज है: ओरेली ( वर्जन नियंत्रण विथ सब वर्जन ) से एक उत्कृष्ट पुस्तक भी पीडीएफ या एचटीएमएल संस्करण के रूप में मुफ्त में उपलब्ध है।
  • इसे एकत्र करने के लिए: संयोजन सबवर्सन 1.6 + सोलारिस 10 + 3-वे-रेड-1 बेमानी के साथ और स्थानीय टीमों के लिए ZFS + थंबर + मास्टर-स्लेव सर्वर रेप्लस चेक किया गया है + सन समर्थन + कोलाबनेट / स्पेयरविज़न / याकैवेर / कार्ल वोगेल परामर्श + सभी डेवलपर्स के लिए उत्कृष्ट और नि: शुल्क उपसंहार मैनुअल आपको समाधान प्रदान करना चाहिए जो प्रदान करता है
    • बेहद उच्च डाटा सुरक्षा (बहुत अधिक स्रोत कोड के लिए बहुत महत्वपूर्ण - आप अपनी रिपॉजिटरी को भ्रष्ट नहीं करना चाहते हैं, बिट त्रुटियां होती हैं, हार्ड ड्राइव विफल होते हैं!) आपके पास एक मास्टर डेटा रिपॉज़िटरी है, जो आपके सभी संस्करणों / संशोधनों को वास्तव में विश्वसनीय ढंग से रखती है: स्रोत नियंत्रण प्रणाली की मुख्य विशेषता
    • परिपक्वता - सबवर्जन का उपयोग कई, कई कंपनियों और ओपन सोर्स परियोजनाओं द्वारा किया गया है।
    • स्केलेबिलिटी - मास्टर-स्लोव प्रतिकृति के साथ आपको मास्टर सर्वर पर लोड समस्या नहीं होनी चाहिए: चेकिन का भार नगण्य है। चेकआउट दास द्वारा नियंत्रित किया जाता है
    • धीमी कनेक्शन के पीछे स्थानीय टीमों के लिए कोई उच्च विलंब नहीं (प्रतिकृति के कारण)
    • एक कम कीमत: उपखंड मुक्त (कोई प्रति सीट शुल्क नहीं), उत्कृष्ट मुफ्त दस्तावेज, तीन साल की अवधि में केवल 8 डॉलर प्रति वर्ष प्रति वर्ष हार्डवेयर और मास्टर सर्वर के लिए समर्थन लागत, गुलामों के लिए सस्ते लिनक्स बक्स, एक बार से परामर्श कोलाबनेट एट अल, मास्टर-गुलाम-प्रतिकृति की वजह से कम बैंडविड्थ लागत
    • प्रशासन की आसानी: मुख्य सर्वर का मूलतः कोई प्रशासन नहीं: उलटा सलाहकार सब कुछ तैनात कर सकता है सूर्य का कर्मचारी दोषपूर्ण हार्ड ड्राइव को स्वैप करेगा, आदि। लिनक्स लिनक्स बक्से हो सकते हैं या स्थानीय साइटों पर जो भी प्रशासन कौशल उपलब्ध हैं। उत्कृष्ट उपसंहार दस्तावेज़ीकरण

मुझे डर लग रहा है कि यहाँ पर अधिकांश डीसीवीएस-एएस के लिए अधिसूचना देने वाले लोगों को किसी प्रकार के फैनबॉय के रूप में लिया जाता है। डीसीवीएस-एई को क्लाउड कंप्यूटिंग, सोशल मीडिया, आदि जैसे एक और शब्द के रूप में प्रस्तुत किया जाता है।

कुछ लोग यहां एसवीएन के कुछ विशिष्ट हार्डवेयर सेटअप, विशिष्ट डिस्क भंडारण के साथ ही तालिका में विश्वसनीयता लाने वाले (या यहां तक ​​कि सक्षम भी हैं) उपयोग करने के लिए वकालत कर रहे हैं। अब ऐसा नहीं है कि सिर्फ एससीएम के दो मुख्य उद्देश्यों में से एक को हराकर - डाटा अखंडता को सुनिश्चित करना?

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

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

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

इन दिनों कई DCVS हैं केवल गिट पर नज़र रखने वाली सामग्री का नज़रिया नहीं है, न कि व्यक्तिगत फाइलें, जो इस मामले में एक अनुकूल विकल्प नहीं हो सकती (हालांकि यह परियोजना के संगठन पर बहुत निर्भर करता है)। वहाँ भी है मर्कूरियल, बाजार है इसलिए दो गुण एक-दूसरे पर निर्भर नहीं होते हैं

मैं वास्तव में वहां किसी विशिष्ट डीसीवीएस की सिफारिश नहीं करना चाहता हूं, मुझे ऐसा सक्षम नहीं लगता है। हालांकि ऐसी स्थिति में जहां अधिकांश अनुशंसित समाधान वितरित नहीं किए जाते हैं, डेटा अखंडता सुनिश्चित नहीं करते हैं, वास्तव में कोई भी सीवीएस नहीं होने से भी बदतर है, मुझे लगा जैसे मुझे कुछ लिखना है। वास्तव में यह सवाल होना चाहिए कि डीसीवीएस नौकरी करने के लिए सबसे उपयुक्त है।


सारांश: जिन प्रणालियों के पास मेरे पास जीआईटी के साथ निजी अनुभव था, वह इसे सबसे अच्छे से संभाल सकेगा I

विवरण:

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

कंपनी में मैं अब (10000 देवताओं से अधिक अच्छी तरह से हूं, लेकिन मुझे संदेह है कि अधिकतर 1000 लोग एक ही प्रोजेक्ट के बारे में क्या सोचेंगे, हालांकि वे एक ही उत्पाद पर कई हैं), हमने सीवीएस का उपयोग किया है (ऐतिहासिक कारणों के लिए), एसवीएन (क्योंकि यह आसान प्रवासन मार्ग था), एसवीके (समय पर अच्छा है, लेकिन मैं इसकी अनुशंसा नहीं करेगा), मर्क्यूरिअल (खेद है, कोई प्रत्यक्ष अनुभव नहीं), प्रबल (हटाना), और गिट

जब तक आप अतीत में विकृत नहीं होते हैं और वहां फंसे होते हैं मैं आरसीएस या सीवीएस की सिफारिश नहीं करता। उनके पास अच्छे बिंदु थे, लेकिन अधिक आधुनिक संस्करण नियंत्रण प्रणालियों की तुलना में उनके पास उन्हें सुझाए जाने के लिए कुछ नहीं है

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

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

एसवीके ने हमारी "धीमी साइटों" के लिए बेहतर काम किया (और काफी अधिक "पृथक कार्य" की अनुमति दी) यह जटिल मर्ज के लिए बहुत बेहतर काम करता है तो एसवीएन एसवीके को अब तक बनाए रखा नहीं गया है, अन्यथा मैं इसे सुझाऊंगा।

गिट एक बड़ा उद्यम है जो गंभीरता से विचार करने के लिए अपेक्षाकृत युवा है, लेकिन इसके अलावा ...

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

कुछ तरीके से git वास्तव में बड़े समूहों के लिए बेहतर काम करता है तो एसवीएन जैसी चीजें आप केवल थोड़े ही लोगों को आधिकारिक रूप से नियुक्त किए गए रेपो के लिए प्रतिबद्ध करने के लिए प्रक्रिया को लागू कर सकते हैं। उन लोगों को यह सुनिश्चित करने के लिए जिम्मेदार हो सकता है कि वे सभी प्रकार की "प्रक्रिया" का पालन कर रहे हैं इससे पहले कि वे रेपो में बदलाव लाए। गिट यह भी नज़र रखेगा कि किसने परिवर्तन बनाम बनाये। जो उन्हें एकीकृत करता है (एसवीएन गलत समय लगता है)

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

जीआईटी के बारे में बहुत सारी चीजें हैं जो मुझे पसंद नहीं हैं, लेकिन वे लगभग सभी "कुछ उपकरण तेज हैं और आपको सावधान रहना चाहिए" के लिए नीचे आ गए हैं। बहुत सारे आपरेशन जैसे चीजें जो एसवीएन जैसी चीजों में मौजूद नहीं हैं, केवल उन चीजों पर ही किया जाना चाहिए जो केवल आपके रिपॉजिटरी में मौजूद हैं (इतिहास को अन्य लोगों ने देखा है, संपादित नहीं करें!) अन्य स्रोत नियंत्रण प्रणालियों में समान समस्याएं हैं, लेकिन git को इसे "साफ" रखने के लिए इतिहास को संपादित करने पर अधिक जोर दिया गया है, इसलिए ऐसे उपकरण के लिए अधिक उपकरण और विकल्प हैं जिन्हें आप को अनदेखा करने की आवश्यकता है, या यह पता है कि कब सुरक्षा सुरक्षित है। शेष पर मैं इसे इस्तेमाल किया अन्य संस्करण नियंत्रण प्रणालियों से बेहतर लगता है।

Perforce के बारे में मेरी दूसरी ओर की जानकारी "यह बेहतर है तो एसवीएन और न की तरह" मर्क्यूरिअल के बारे में मेरी दूसरी ओर की जानकारी "यह विवरण के अलावा अधिक git की तरह है, कुछ और जैसे कि गीट की तरह बेहतर दूसरों"

1000+ डेवलपर्स वाले कंपनी में कॉरस का मैं सुझाव देता हूं कि आप जो भी स्रोत कंट्रोल सिस्टम का इस्तेमाल करते हैं उसका समर्थन अनुबंध प्राप्त करें। Git के लिए मैं github पर दिखेगा: fi


मैं किसी भी एससीएम का उपयोग करता हूं जिसमें निराशावादी लॉकिंग नहीं है ( http://old.davidtanzer.net/?q=node/118 ) तंत्र खासकर क्योंकि आप चाहते हैं कि लोग एक ही फाइल को एक ही समय में किसी भी बड़े आकार के परियोजना में "संपादित" कर सकें।

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

अन्य विकल्पों में "जीआईटी" शामिल हो सकता है, जो कि लिनक्स कर्नेल लोगों का इस्तेमाल करते हैं, लेकिन मेरे पास वास्तव में उसके साथ कोई अनुभव नहीं है।


2015 तक, एक वितरित संस्करण नियंत्रण प्रणाली (डीवीसीएस) का उपयोग करना सबसे महत्वपूर्ण कारक है। एक DVCS का उपयोग करने का मुख्य लाभ: स्रोत कोड हेरफेर के घर्षण को कम करके कई स्तरों पर स्रोत कोड सहयोग की अनुमति देता है। यह एक 1000+ डेवलपर संगठन के लिए विशेष रूप से महत्वपूर्ण है

घर्षण को कम करना

सहयोगी गतिविधियों से अलग-अलग डेवलपर चेक-इन डिसूप्लेड होते हैं। लाइटवेट चेकइन कम-से-कम समय पर स्वतंत्र कार्य के स्वच्छ इकाइयों को प्रोत्साहित करते हैं (प्रति घंटे या प्रति दिन कई चेकइन)। किसी डिस्ट्रीब्यूशन संगठन में एक प्रणाली के रूप में निर्मित एक अलग, आमतौर पर लंबे समय तक, समय-स्तर (दैनिक, साप्ताहिक, मासिक अन्य लोगों के साथ समन्वयन) पर सहयोग स्वाभाविक रूप से नियंत्रित होता है

गिट का उपयोग करें

डीवीसीएस विकल्पों में से, आपको गिट का उपयोग करना चाहिए और GitHub या Bitbucket पर महान समुदायों का लाभ लेना चाहिए। बड़े निजी संगठनों के लिए, आंतरिक समुदाय और आंतरिक स्रोत कोड होस्टिंग महत्वपूर्ण हो सकता है (ऐसे विक्रेताओं को निजी होस्टिंग सिस्टम जैसे एटालसियन स्टोश और संभवतः दूसरों को बेचने वाले हैं)

गिट का उपयोग करने का मुख्य कारण यह है कि यह सबसे लोकप्रिय डीवीसीएस है। होने के कारण:

  • गिट डेवलपमेंट टूलचेंन्स की एक विस्तृत श्रृंखला में अच्छी तरह से एकीकृत है

  • अधिकांश डेवलपर्स द्वारा गिट जाना जाता है और इसका उपयोग किया जाता है

  • गिट अच्छी तरह से प्रलेखित है

या उबाऊ

गिट के लिए वैकल्पिक रूप से, मर्कुरियल भी बहुत अच्छा है। मर्क्यूरिअल में गिट के मुकाबले कम क्लीनर, अधिक ऑर्थोगोनल कमांड हैं। 2000 के दशक के अंत में, विंडोज सिस्टम पर गिट की तुलना में यह बेहतर समर्थित था क्योंकि मुख्य डेवलपर्स होने के कारण ज्यादातर विंडोज़ के बारे में परवाह थी।

जीयूआई

उन लोगों के लिए जो कमांड लाइन पर git और hg बजाय जीयूआई का उपयोग करना चाहते हैं, SourceTree एक महान विंडोज और ओएस एक्स अनुप्रयोग है जो कि गीट और मर्कुरियल दोनों के लिए एक साफ इंटरफ़ेस प्रस्तुत करता है।

अप्रचलित अनुशंसाएं

2010 तक, मैं टर्टोइज़ एचजी के साथ मर्क्यूरीयल की सिफारिश की यह विंडोज समर्थन और वितरित संस्करण नियंत्रण कार्यक्षमता का सबसे अच्छा संयोजन है।

2006-2009 से, मैंने सबवर्सन (एसवीएन) की सिफारिश की क्योंकि यह मुफ़्त है और अधिकांश आईडीई के साथ महान एकीकरण है उन संगठनों के लिए जो अधिक वितरित मॉडल की यात्रा करते हैं या पसंद करते हैं, वे अपने सभी स्थानीय कार्यों के लिए गीट का उपयोग कर सकते हैं, लेकिन जब वे कोड साझा करना चाहते हैं, तो वे एसवीएन रिपॉजिटरी के लिए प्रतिबद्ध हैं। यह एक केंद्रीकृत और वितरित प्रणाली के बीच एक महान संतुलन है आरंभ करने के लिए गिट-एसवीएन क्रैश कोर्स देखें SVN का उपयोग करने के लिए अंतिम और शायद सबसे महत्वपूर्ण कारण TortoiseSVN है , SVN के लिए एक Windows क्लाइंट जो कि किसी भी खजाने को खुलाने के लिए खजाना तक पहुँच देता है मेरी कंपनी में, इसने गैर डेवलपर्स के लिए रिपोजिटरी एक्सेस देने का एक शानदार तरीका साबित कर दिया है।





dvcs