मैंने कुछ बड़ी कंपनियों जैसे Google, Facebook का उपयोग Perforce के बारे में सुना
क्या कोई कारण है कि एसवीएन / गिट पेरफोर्स की जगह नहीं ले सकते?
मैंने कुछ बड़ी कंपनियों जैसे Google, Facebook का उपयोग Perforce के बारे में सुना
क्या कोई कारण है कि एसवीएन / गिट पेरफोर्स की जगह नहीं ले सकते?
जवाबों:
औचित्य शायद एक बार की तुलना में कम प्रासंगिक था, लेकिन पेरफोर्स तोड़फोड़ की तुलना में बड़े भंडार पर बेहतर प्रदर्शन करता है। यह एक कारण है कि Microsoft ने स्रोत डिपो के निर्माण के लिए Perforce के लिए एक स्रोत लाइसेंस प्राप्त किया; NT का भंडार एक राक्षस है, और न ही कई उत्पाद, वाणिज्यिक या अन्यथा, इसे संभाल सकते हैं।
इसके अलावा, कम से कम एक समय, पेरफोर्स के लिए विजुअल टूल वैसे थे, जो बॉक्स से बाहर उपलब्ध है (इसलिए बोलने के लिए) सबवर्सन या गिट के साथ बेहतर है। यदि आप मेल्ड का उपयोग कर रहे हैं, तो शायद वे चीजें एक बार की तुलना में कम मायने रखती हैं, लेकिन अभी भी कुछ चीजें हैं जो पेरफोर्स ने बहुत अच्छी तरह से की हैं, जिसमें ब्रांचिंग और विलय के विज़ुअलाइज़ेशन शामिल हैं, जो कि मेरे पास एक विस्तृत स्मृति नहीं है, क्योंकि यह तब से है लगभग 3 साल जब मैंने आखिरी बार पेरफोर्स को छुआ था, उदाहरण के लिए, जीथब के दृष्टिकोण से अधिक परिष्कृत लग रहा था।
एक बार जब आप Perforce का उपयोग करते हैं, तो आप समझ सकते हैं कि इसके फायदे क्या हैं। उन्होंने लंबे समय से एक मुफ्त दो-उपयोगकर्ता सर्वर विकल्प की पेशकश की है, और आपके पास किस स्रोत कोड प्रबंधन प्रणाली के साथ अनुभव है, इसके आधार पर आपको अपनी टीम द्वारा थोड़ी देर के लिए परीक्षण करने के बाद इसे अपग्रेड करने की लागत मिल सकती है। छोटी दुकानों के लिए, यह, डेवलपर्स के प्लस नेटवर्क प्रभाव जो इसे इस्तेमाल करते हैं और इसे पसंद करते हैं, यही कारण है कि पेरफोर्स को भुगतान करने वाले उपयोगकर्ता प्राप्त होते हैं। दिमित्री की निंदनीय टिप्पणियों के विपरीत, छोटे विकास दलों के साथ कंपनियों में पेरफोर्स को बेचने के लिए सीटीओ की पूरी तरह से बहुत सी वेनिंग और डाइनिंग नहीं है, लेकिन ऐसी जगहों पर इसका उपयोग किया जाता है।
मैंने जिन परियोजनाओं पर Microsoft के बाहर काम किया है, उनमें से ज्यादातर Git, Mercurial या Subversion द्वारा अच्छी तरह से सेवा की जा सकती हैं, और मैं कहूंगा कि जिन कंपनियों ने मैंने काम किया है, उनमें से अधिकांश ने उन विकल्पों में से एक का उपयोग किया है। लेकिन एक मीठा स्थान है, आमतौर पर रिपॉजिटरी आकार, ब्रांचिंग और मर्जिंग मॉडल और टीम अनुभव / इतिहास का एक संयोजन होता है जो लोगों को वाणिज्यिक टूल का उपयोग करने के लिए प्रेरित करता है। मैंने शायद ही कभी बड़े Git रिपॉजिटरी देखे हों। यह गिट की किसी भी आंतरिक सीमाओं के कारण नहीं हो सकता है; मैं उस की पूरी अज्ञानता स्वीकार करता हूं। लेकिन कुछ परियोजनाओं (जैसे विंडोज एनटी) में मुफ्त समाधानों के लिए कुछ व्यावहारिक सीमाएं हो सकती हैं।
मैं यथोचित रूप से svn, git और Perforce के साथ प्रवीण हूं, दोनों एक उपयोगकर्ता के रूप में और सर्वर स्थापित करने और बनाए रखने पर।
एक कंपनी के लिए, या यहां तक कि मेरे जैसे एक अकेला प्रोग्रामर के लिए, सोर्स कंट्रोल वास्तविक पैसे बनाने वाली गतिविधि के समर्थन में खर्च होती है, जो कोड विकसित और बेच रही है। तो विचार करने के कई कारक हैं:
मैं tl को छोड़ता जा रहा हूं: व्यक्तिगत प्रणालियों के पेशेवरों और विपक्षों के बारे में डॉ। यह कहने के लिए पर्याप्त है कि जब मैं पिछले साल पूर्णकालिक परामर्श पर वापस गया था, तो मैंने तीनों की समीक्षा करके यह तय किया कि मुझे अपने ग्राहकों को गुणवत्ता वाले सॉफ़्टवेयर प्रदान करके जितना संभव हो उतना तेज़ी से पैसा कमाने की आवश्यकता होगी, और बहुत सारे अवैतनिक आवश्यकता के बिना। समय बर्बाद करना। जब मैंने "FOSS अच्छा है और गैर-FOSS बुराई है" के राजनीतिक विचार को समीकरण से बाहर कर दिया, तो मैं एक Perforce लाइसेंस के लिए धन्यवाद कर रहा हूं।
और यही कारण है कि बड़ी कंपनियां पेरफोर्स भी चुनती हैं।
यहाँ tl हैं: टिप्पणियों से डॉ विवरण, प्लस थोड़ा और।
Svn को संबोधित करना आसान है: पेरफोर्स की तुलना में, यह कुत्ता-धीमा है। मैंने एक कंपनी में काम किया, जिसने सेल फोन के लिए लिनक्स एम्बेडेड किया था, और हमारे पूर्ण स्रोत 9 जीबी चले; उन्होंने पेरफोर्स का इस्तेमाल किया। एक बार जब आपके पास कोड होता है, तो नवीनतम स्रोतों को अपडेट करना सामान्य रूप से लैन पर सेकंड, या मेरे घर से वीपीएन कनेक्शन पर कुछ मिनट लगते हैं। Svn के साथ, यह क्रमशः मिनट और घंटे होता।
git बनाम Perforce अधिक जटिल है। कई कंपनियों को लगता है कि उनके पास एक्सेस कंट्रोल के साथ सेंट्रलाइज्ड रिपॉजिटरी का उपयोग करने के लिए अच्छे व्यावसायिक कारण हैं, और इसके लिए वहां कमिटमेंट करना आसान है और कुछ भी करना मुश्किल है - और पेरफोर्स उस मॉडल को पूरी तरह से फिट करता है। हालांकि, git सकारात्मक रूप से लोगों को एक स्थानीय शाखा में काम करने के लिए प्रोत्साहित करता है, और किसी भी अलग तरीके से काम करने के लिए इसे प्राप्त करने का कोई तरीका नहीं है। एक डेवलपर पूरी तरह से एक स्थानीय शाखा में काम कर सकता है और कभी भी केंद्रीय रेपो के लिए प्रतिबद्ध नहीं होता है - इसलिए यदि कोई कंपनी अपने लोगों को इस तरह से काम नहीं करना चाहती है, तो Perforce एक बेहतर विकल्प है।
कुछ व्यावसायिक जरूरतों के लिए गिट के साथ अन्य समस्याएं हैं। मैंने एक कंपनी में काम किया जिसमें git का उपयोग किया गया था, और मुझे नहीं पता कि मैंने इस चर्चा को कितनी बार सुना: "काश हम [कुछ अन्य VCS] का उपयोग कर रहे होते, क्योंकि मुझे यह करने की आवश्यकता है [और] मैं git के साथ नहीं कर सकता । " "बेशक आप गिट के साथ ऐसा कर सकते हैं।" "किस तरह?" "ठीक है, पहले आपको बैश स्क्रिप्ट लिखने की ज़रूरत है ..." "कोई बात नहीं।"
और फिर शुरू करने में लगने वाला समय एक ऐसे स्रोत वृक्ष को आबाद करता है जिसका इतिहास बहुत है। पेरफोर्स के साथ, क्योंकि इतिहास को सर्वर पर रखा जाता है, आपको बस सभी फ़ाइलों के नवीनतम संस्करण मिलते हैं, इसलिए यह वास्तव में तेज़ है - यहां तक कि उस पूरे 9 जीबी पेड़ को स्थापित करने में जो मैंने केवल एक वीपीएन पर कुछ घंटों का समय लिया है। गिट के साथ, यह एक लंबे समय और अनंत काल के बीच कहीं ले जा सकता है। मुझे कभी-कभी जीटीके + या एक्स सर्वर जीआईटी रेपो का क्लोन बनाना पड़ता है, और यह एक लंबा लंच ब्रेक, या शायद बिस्तर के लिए समय है।
वास्तव में, यह नौकरी के लिए सही उपकरण की बात है। svn Apple के अधिकांश ओपन सोर्स प्रयासों के लिए ठीक काम करता है, और कर्नेल हैकिंग के लिए भयानक होगा। git GTK + के लिए बहुत अच्छा काम करता है, लेकिन WebKit के अंदर काम करने के लिए अविश्वसनीय रूप से धीमा है - स्रोत पेड़ और इतिहास अभी बहुत बड़ा है (जैसा कि मुझे पता चला है कि WebKit के svn-to-git पोर्टल से कोड के साथ काम करने का कठिन तरीका है)। यदि आपके पास एक विशाल स्रोत वृक्ष है और केंद्रीकृत नियंत्रण की आवश्यकता है, तो Perforce अच्छा काम करता है। उनमें से प्रत्येक सही संदर्भ में ठीक काम करता है।
pull
अपडेट या नई सुविधाओं को प्राप्त करने के लिए उनके सबमॉड्यूल्स होते हैं, और उसके बाद ही रिपॉजिटरी के उपयोगकर्ताओं को रिपॉजिटरी के कोड से बड़े अपडेट की आवश्यकता होती है।
विशेष रूप से, और एसवीएन कुछ हद तक पुराने नहीं हैं - यदि आपको 90 के दशक के मध्य में ठोस संस्करण नियंत्रण की आवश्यकता थी, तो आपको लगभग व्यावसायिक रूप से जाना होगा क्योंकि एसवीएन अपनी प्रारंभिक अवस्था में था और सीवीएस अच्छी तरह से, सीवीएस था। एक बार जब आप एक सिस्टम में निवेश कर चुके होते हैं, तो यह एक भालू हो सकता है।
ओह, और जो लोग इन निर्णयों को करते हैं, वे शायद संस्करण नियंत्रण प्रणाली के साथ कभी भी बातचीत नहीं करते हैं लेकिन उपर्युक्त बिक्री कर्मचारियों द्वारा जीत और भोजन प्राप्त करते हैं।
मैं अब लगभग 9 वर्षों के लिए खेल उद्योग में एक प्रोग्रामर रहा हूं, और मैंने कभी भी काम किया प्रत्येक परियोजना ने पेरफोर्स का उपयोग किया है। मुझे संदेह है कि उस विशेष उद्योग में पेरफोर्स को इस्तेमाल में रखने वाली कुछ चीजें हैं।
हो सकता है, शायद वे पेरफोर्स को पसंद करते हैं क्योंकि पेरफोर्स बेहतर है?
ठीक है, इससे पहले कि आपको लगता है कि मैं एक Perforce Fanboi हूं, आखिरी बार जब मैंने एक कंपनी को Perforce की सिफारिश की थी, सात साल से अधिक हो गया था। Perforce की लागत $ 800 प्रति लाइसेंस है - जो कि ClearCase की तुलना में सस्ता है, लेकिन सबवर्सन की तुलना में महंगा है। मैं एक कठिन समय है तोड़फोड़ पर लागू करने का औचित्य साबित।
इसके अलावा, अधिकांश डेवलपर्स तोड़फोड़ करने के लिए उपयोग किया जाता है। वे पेरफोर्स नहीं सीखना चाहते हैं, जिसमें सबवर्सन की तुलना में काम करने का एक अलग तरीका है। Perforce में, आपको एक क्लाइंट बनाना होगा और आपको उन्हें संशोधित करने से पहले संपादन के लिए फ़ाइलों को चिह्नित करना होगा। आप तोड़फोड़ के साथ ऐसा करने की जरूरत नहीं है।
तोड़फोड़ पर भी Perforce के साथ कम एकीकरण हैं। इसका एक हिस्सा क्लाइंट के उपयोग के कारण है । यह सिर्फ VisualStudio या हडसन के साथ अच्छा नहीं खेलता है। इसका एक हिस्सा इस तथ्य के कारण है कि Perforce को ग्राहक एकीकरण बनाना है।
स्वामित्व लाइसेंस के लिए एक लागत है प्रशासनिक लागत। कल्पना करें कि आप $ 1.00 प्रति उपयोगकर्ता के लिए सॉफ़्टवेयर का एक टुकड़ा लाइसेंस दे सकते हैं। बिल्ली, चलो इसे दो बिट्स बनाते हैं। एक हज़ार लाइसेंस की कीमत आपको केवल $ 250 होगी।
अब, आपको लाइसेंस का प्रबंधन करने वाले एक पूर्णकालिक व्यक्ति की आवश्यकता है। एक औसत तकनीकी कर्मचारी एक कंपनी में लगभग 2 साल तक रहता है। इसका मतलब है कि हर साल 500 लोग रवाना होंगे और 500 अन्य आएंगे। हर हफ्ते दस लोगों को लाइसेंस बदलवाना पड़ता है। फिर, ऐसे समय होते हैं जब परियोजना चुनती है और आपको दूसरे 250 लाइसेंस की आवश्यकता होती है। जिन्हें आदेश दिया जाना चाहिए, दर्ज किया जाना चाहिए और बनाए रखा जाना चाहिए। जिसमें हफ्तों लग सकते हैं।
यही कारण है कि कई वाणिज्यिक फर्मों को खुले स्रोत में स्थानांतरित किया गया है। यह लाइसेंस की लागत नहीं है। आप प्रति वर्ष एक डेवलपर को $ 150,000 का भुगतान करते हैं, एक Perforce लाइसेंस के लिए दूसरा $ 800 क्या है? यह उस लाइसेंस का प्रबंधन कर रहा है। ClearCase की तुलना में पेरफ़ोर्स बहुत अच्छा लगता है: तेज़, आसान, सस्ता, बेहतर। लेकिन, तोड़फोड़ के खिलाफ? Perforce तेज और शायद बेहतर हो सकता है, लेकिन क्या यह $ 800 बेहतर है? क्या यह लाइसेंस का प्रबंधन बेहतर है? क्या यह एक वांछित उपकरण का उपयोग बेहतर नहीं है?
इसलिए पेरफोर्स को समस्या हो सकती है।
Git अंतिम-ऑल बी-ऑल टूल नहीं है। यह उन परिस्थितियों में बहुत अच्छा काम करता है, जहाँ आप केंद्रीकृत नियंत्रण नहीं चाहते हैं, जिनके पास भंडार का उपयोग हो। लेकिन, यह कई परिस्थितियों में दर्द हो सकता है। जिस तरह से मैंने इसे रखा है वह इस प्रकार है:
यदि आप केंद्रीकृत निर्माण कर रहे हैं, तो आपको हर किसी को वैसे भी एक भंडार का उपयोग करने की आवश्यकता है। इस परिस्थिति में वितरित प्रणाली का क्या फायदा है? वास्तव में, यह लोगों को ऑफ लाइन काम करने के लिए प्रोत्साहित कर सकता है । डेवलपर्स केवल अपने ही तरीके से बंद हो सकते हैं और आखिरी मिनट तक कुछ भी नहीं कर सकते हैं। फिर, आप दो उन्मत्त दिनों को फिर से काम करने की कोशिश कर रहे हैं।
मैं गिट के खिलाफ नहीं हूं। मैंने कई मामलों में Git की सिफारिश की है। इनमें एक-दूसरे के साथ खराब कनेक्शन वाली वितरित टीमें, या ऐसे स्थान हैं जहां आप उन सभी को ट्रैक नहीं करना चाहते हैं जिनके पास स्रोत रिपॉजिटरी तक पहुंच है।
उदाहरण के लिए, एक कॉलेज कंप्यूटर विज्ञान विभाग अपने छात्रों को स्रोत नियंत्रण का उपयोग करने के लिए और शिक्षकों को देखने के लिए अपना कोड वहां रखना चाहता था। महान विचार। बहुत से बच्चे मानक निर्माण और विकास प्रक्रियाओं को समझने के बिना कॉलेज छोड़ देते हैं। मैंने गिट की सिफारिश की।
Git का उपयोग करके, रिपॉजिटरी के व्यवस्थापक को केवल अपने साथी प्रोफेसरों से कमिट लेना होता है। उन्हें व्यक्तिगत छात्रों के बारे में चिंता करने की ज़रूरत नहीं है। प्रोफेसर छात्रों को भंडार के अपने संस्करण के लिए प्रतिबद्ध कर सकते हैं। छात्र समूहों में काम कर सकते हैं, और प्रत्येक समूह भंडार के अपने संस्करण को साझा कर सकता है।
यदि कॉलेज तोड़फोड़ का इस्तेमाल करता है, तो किसी को सभी छात्रों को जानना होगा और उन्हें केंद्रीय भंडार तक पहुंच प्रदान करनी होगी। उन्हें यह प्रबंधित करना होगा कि कौन और कहाँ जाँच कर सकता है। यदि एक प्रोफेसर ने एक समूह परियोजना सौंपी, तो उसे सेटअप और प्रबंधित करना होगा। आपको इसे प्रबंधित करने के लिए पूर्णकालिक व्यक्ति की आवश्यकता होगी।
यह एक फुटबॉल का खेल नहीं है जहां एक टीम दूसरे से बेहतर है। उपकरण विभिन्न तरीकों से काम करते हैं और प्रत्येक के अपने फायदे और नुकसान हैं। Perforce एक महान उपकरण है। दुर्भाग्य से, ऐसी परिस्थितियां विकसित हुई हैं जो सिफारिश करना कठिन बनाती हैं।
गिट महान है, लेकिन मैं अपने व्यक्तिगत स्रोत भंडार के लिए तोड़फोड़ के लिए वापस गिर रहा हूं। आखिरकार, मैं इसे साझा नहीं करता, और तोड़फोड़ का उपयोग करना आसान है। अगर मेरे पास एक छोटी सी टीम है तो मैं व्यक्तिगत काम के लिए Git का उपयोग करता हूं क्योंकि मुझे अपनी रिपॉजिटरी पूरे समय तक इंटरनेट पर नहीं रखनी है। अधिकांश व्यावसायिक साइटों के लिए, मुझे अभी भी पता चला है कि सबवर्सन सबसे अच्छा काम करता है। लेकिन, ऐसे हालात हैं जब गिट चमकते हैं।
मुझे नहीं पता कि 'वाइन और डाइन' रिश्वत अभी भी लागू है, लेकिन अधिकांश प्रबंधकों के लिए जब वे एक उत्पाद खोजने का फैसला करते हैं, तो वे विभिन्न प्रकाशनों (प्रबंधन की ओर लक्षित) में पढ़ेंगे और उत्पाद के ब्रोशर और पैम्फ़लेट को देखेंगे। गुण।
लगता है, उन स्थानों में FOSS उत्पादों की सुविधा नहीं है!
तो, इसके लगभग एक दिया गया है कि ज्यादातर प्रबंधन-क्रय निर्णय विज्ञापन और विपणन द्वारा संचालित होते हैं। वे मूल्यांकन कर सकते हैं, लेकिन ऐसे कई उत्पादों के।
दूसरा कारण परिपक्वता के कारण है। आज हम जिन कुछ उत्पादों का उपयोग करते हैं, वे हाल ही में गंभीर व्यावसायिक उपयोग के लिए पर्याप्त स्थिर हैं, कुछ के पास कोई समर्थन विकल्प नहीं है, कुछ के पास व्यापार समाधान के रूप में कोई सिद्ध ट्रैक रिकॉर्ड नहीं है। विचार करने के लिए ये महत्वपूर्ण चीजें हैं (हालांकि एक तकनीकी विशेषज्ञ के रूप में मैं खुशी से FOSS समाधानों का मूल्यांकन करूंगा यदि उनका उपयोग करने और उन्हें विफल होने का जोखिम व्यवसाय को चालू रखने के लिए कम से कम है) और कुछ प्रबंधकों को उनके आसपास नहीं होने के बारे में सावधान रहना चाहिए। वे अपने मालिकों के प्रति जवाबदेह होते हैं और उत्पाद के पीछे एक सहायता संगठन होने पर बहुत अधिक आरामदायक महसूस करेंगे - आपके पास अपने व्यवसाय के लिए एक है।
अंत में, जबकि कई FOSS उत्पादों के पीछे उनका समर्थन होता है (एसवीएन के लिए कोलाबनेट या वैंडिस्को), यह अभी भी 'उनके पीछे के बेडरूम में गीक्स द्वारा बनाई गई' प्रतिष्ठा प्राप्त करता है। हम सभी जानते हैं कि आम तौर पर b * * ** t और सबसे अच्छा FOSS व्यावसायिक पेशकशों के साथ अविश्वसनीय रूप से अच्छी तरह से प्रतिस्पर्धा करता है, लेकिन मेरे प्रबंधक को अभी भी आश्वस्त होने की आवश्यकता है। शायद वह सिर्फ अपरिपक्व और परिपक्व FOSS उत्पादों के बीच अंतर का एहसास नहीं करता है; शायद उसे कोई परवाह नहीं है।
वैसे भी, Perforce एक अच्छा SCM है, इसे चुनने का कोई कारण नहीं है। मैं अन्य एससीएम के लिए भी ऐसा ही कह सकता था, लेकिन फिर से, मैं कुछ अन्य लोगों के बारे में केवल बुरी बातें कह सकता हूं, और अभी भी बुरे सपने हैं जब यह कुछ निश्चित उत्पादों की बात आती है।
क्योंकि पेरफोर्स जैसे उपकरणों में शराब के सेल्समैन हैं और खरीदारी के प्रभारी लोगों को भोजन देते हैं, जबकि गिट नहीं। बेशक, यह सिर्फ मेरे बारे में बात करने का निंदक पक्ष है, लेकिन यह प्रक्रिया को करीब से देखने के लिए लाया गया निंदक है।
बस इसे पूरी तरह से स्पष्ट करने के लिए: मेरा मतलब यह नहीं है कि हर बार जब आप अपने सीआईओ को नशे में धुत्त रूप से गलियारे से नीचे गिरते हुए देखते हैं, तो अगली तिमाही में एक नई संस्करण प्रणाली का उपयोग करने की उम्मीद करें। बस यह कि उपयोग और अधिग्रहण के बीच कई संगठनों में एक डिस्कनेक्ट है। बेशक, ऐसे अन्य कारण हैं जो कंपनियां Perforce का उपयोग करती हैं: उदाहरण के लिए, उन्होंने अपने वर्कफ़्लो में इसके कार्यान्वयन में पहले से ही भारी निवेश किया होगा। लेकिन आम तौर पर --- और यह सवाल बहुत सामान्य है --- FOSS टूल्स का उपयोग नहीं करने का कोई कार्यात्मक लाभ नहीं है।
संभवतः उसी कारण से मेरी कंपनी ने बहुत सारे खुले स्रोत सॉफ़्टवेयर का उपयोग करने से इंकार कर दिया (ऐसा नहीं है कि मैं सहमत हूं):
जब कुछ गलत होता है, तो वे चाहते हैं कि कोई उन्हें बुला सकता है और चिल्ला सकता है।
जबकि सभी उत्तर P4 का उपयोग करने वाली बड़ी कंपनियों के बारे में बात करते हैं (और वे जवाब देते हैं कि Google ने P4 का उपयोग क्यों किया), Google द्वारा Perforce का उपयोग करने का एक मुख्य कारण यह है कि पेरफोर्स आपको रेपो के एक सबट्री चेकआउट की अनुमति देता है जबकि आप Git के साथ ऐसा नहीं कर सकते। गूगल जैसे बड़े स्रोत के रिपोज के साथ, जिसने बहुत बड़ा बदलाव किया।
और जहाँ तक मैंने सुना है, फेसबुक SVN और Git-SVN का उपयोग करता है
क्योंकि SVN, अच्छी तरह से, SVN और Perforce है (एक समय से 4 साल पहले जब औजारों की तुलना करते हैं) SVN से कुछ चीजों को बेहतर करता है । (ब्रांचिंग उनमें से एक है जो मुझे लगता है।)
और GIT एक Dvcs है, जैसा कि वितरित किया गया है । कंपनी की टीमों के लिए, वितरित भाग कुछ अच्छी तरह से न तो देखभाल के लिए हो सकता है और न ही इच्छा के लिए।
एक और कारण है कि बड़ी कंपनियां बड़ी, कलंकी, "एंटरप्राइज" संस्करण नियंत्रण प्रणाली खरीदने की प्रवृत्ति रखती हैं:
आईटी विभागों में मध्य से ऊपरी प्रबंधन तक वीसीएस को हर एक परियोजना के उपयोग के रूप में देखा जाता है, या आप इसका उपयोग कर सकते हैं। एक बार जब आप वीसीएस के उपयोग को लागू कर लेते हैं, तो फिर वहां थोड़ी "प्रक्रिया" क्यों नहीं डालते हैं? मेरा मतलब है, आपको "एंटरप्राइज-वाइड" सिस्टम को निर्दिष्ट करने का अवसर मिला है, इसे केंद्रीय नियंत्रण में क्यों नहीं मिला, और "आपदा वसूली" और कुछ "वर्कफ़्लो सुविधाएँ" जोड़ें, ताकि आप कह सकें कि "हम सीएमएम लेवल स्ट्रेटजैकेट हैं शिकायत! "। एक VCS वर्कफ़्लो लागू करने की सुविधाओं को लगाने के लिए एक लक्ष्य के लिए बहुत आसान है, क्या यह नीचे आता है।
जहां तक कुछ ickky-poo, cruddy software (सेरेना डाइमेंशन्स) का विकल्प है, यह कहा जाता है कि बहामा में बिकनी गोल्फ के कुछ राउंड कुछ 20-महिला सेल्स स्टाफ के साथ किसी भी चीज़ के बारे में निर्देशक या VP को मना सकते हैं।
बड़ी कंपनियों को किसी तरह के केंद्रीकृत मॉडल की आवश्यकता होती है। एक बार डेवलपर्स के विकास के बाद, इसे ग्राहक सहायता के लिए सौंप दिया जाता है। क्या आप वास्तव में जूते का समर्थन करना चाहते हैं जब उन्हें 50-200 वितरित डेवलपर रिपोज से कंघी करना पड़ता है? और सेंट्रल रेपो के आधार पर बिल्ड किया जाता है, बिल्ड हमेशा, हमेशा, हमेशा ट्रेस करने योग्य और रिप्रोड्यूसबल होना चाहिए। आप यह सीखते हैं कि पहली बार जब आप कुछ मूर्खतापूर्ण पेटेंट उल्लंघन पर अदालत में गए।
Git इस मॉडल में भी काम नहीं करता है। यदि आपके पास एक छोटी कंपनी है, या एक खराब वीपीएन एक्सेस है, तो यह वास्तव में चमकता है।
पेरफोर्स का इस्तेमाल करने वाली अधिकांश बड़ी कंपनियों का यह कारण हो सकता है कि आईटी विभाग में अधिक पेशेवर हैं, जिन्हें इसके बारे में बहुत जानकारी है और इससे संबंधित मुद्दों की शूटिंग के वर्षों में अनुभव है।
मुझे लगता है कि भविष्य में कंपनियां Perforce से दूर जाना शुरू कर सकती हैं और GIT की ओर बढ़ सकती हैं ... मुझे पता है कि ज्यादातर डेवलपर्स इसे पसंद करते हैं !! इसके अलावा http://whygitisbetterthanx.com/#git-is-fast आगे के सबूतों के लिए देखें कि आने वाले वर्षों में पेरफोर्स क्यों इतने प्रभावी नहीं हो सकते हैं !!
कुछ समय पहले, हमने वीसीएस के एक सेट से स्विच किया (मुझे पता है कि आरसीएस, सीवीएस, क्लियरकेस, पेरफोर्स का उपयोग पहले किया गया था, उपयोग में अद्वितीय प्रणाली के रूप में पेरफोर्स के रूप में पीएफएस के लिए। यह एक छोटी परियोजना नहीं थी: प्रवासन को एक वर्ष से अधिक समय हो गया। टीम (मैं इसका हिस्सा नहीं था) के प्रभारी ने कई वीसीएस का मूल्यांकन किया, और कम से कम गिट और स्वन को पहले से उपयोग में लाए जाने वाले लोगों के रूप में माना जाता था। जैसा कि मैंने उनकी रिपोर्ट को याद किया, उन्होंने आवश्यक सुविधाओं के बिना टूल को फ़िल्टर किया और फिर माना:
विशिष्ट उपयोग पर प्रदर्शन, विशेष रूप से दूरस्थ साइटों के लिए
संसाधन की आवश्यकताएं
काम करने की आदत में जरूरी बदलाव
समर्थन उपलब्धता और लागत
और Perforce समग्र रूप से एक स्पष्ट विजेता था। git पहले बिंदु के लिए थोड़ा बेहतर था, लेकिन दूसरों के लिए नुकसान का कारण था।
एक बार, इतने समय पहले नहीं (जब IDE को VI कहा जाता था), केवल मुफ्त (खुला स्रोत) सिस्टम CVS, RCS और SCCS थे।
वहाँ वाणिज्यिक स्रोत कोड नियंत्रण प्रणाली बहुत थी, इनमें से अधिकांश एक मशीन विक्रेता (आईबीएम, डीईसी, एचपी, आदि) द्वारा प्रदान की गई थीं और केवल उनके हार्डवेयर पर चलती थीं।
फिर कुछ कंपनियों ने क्रॉस-प्लेटफॉर्म वाणिज्यिक स्रोत कोड नियंत्रण को बेचने के लिए कहा जिसमें पेरफोर्स और क्लियरकेस शामिल हैं।
ClearCase RPC पर बनाया गया था जो कि बहुत सारे छोटे नेटवर्क पैकेट "राउंड ट्रिप्ड" होने के कारण वाइड एरिया नेटवर्क (अभी तक अकेले इंटरनेट) पर अच्छी तरह से काम नहीं करता था, आईबीएम और तर्कसंगत ने ClearCase को "कैश गाय" के रूप में देखा और कभी भी इसे बहुत अधिक नहीं दिखाया। प्रेम।
तो केवल "पुराना" वाणिज्यिक स्रोत कोड नियंत्रण प्रणाली जो अभी भी आम उपयोग में है, वह है पेरफोर्स। एक बार पेरफोर्स उपयोग में है और बिल्ड सिस्टम और बग ट्रैकिंग सिस्टम में एकीकृत है , तो किसी कंपनी के लिए किसी अन्य चीज में जाने के लिए बहुत ही अल्पावधि लाभ है।
इसलिए, जब अन्य कई विकल्प नहीं थे, तब तक लागू करने के लिए , "दरवाजे में पैर" मिला, और लोगों को इससे दूर जाने के लिए उन्होंने अभी तक कोई गड़बड़ नहीं की है ।