2010-04-10 8 views
5

मुझे गलत होने पर सही करें, लेकिन ओएस परियोजनाओं के लिए एससीएम वितरित नहीं किया गया है जबकि केंद्रीकृत एससीएम कॉर्पोरेट/निजी परियोजनाओं के लिए बेहतर हैं?ओएस परियोजनाओं के लिए Mercurial और एंटरप्राइज़ परियोजनाओं के लिए svn?

उदाहरण के साथ कारण। Mercurial किसी को भी पूर्ण इतिहास सुविधाओं के साथ भंडार की एक सटीक प्रति प्राप्त हो जाता है, जबकि केंद्रीकृत के साथ आप केवल नवीनतम कामकाजी प्रति प्राप्त करते हैं।

निजी परियोजनाओं पर अधिक ध्यान केंद्रित किया गया है, इसलिए मुझे आश्चर्य है कि क्या यह केंद्रीकृत एससीएम के साथ बेहतर है या इससे कोई फर्क नहीं पड़ता?

+5

आप गलत हैं - आप दोनों मामलों में इतिहास प्राप्त कर सकते हैं - यह किसी भी संस्करण नियंत्रण प्रणाली के लिए मुख्य राशन डी'एट्रे है। –

उत्तर

10

आप use a DVCS (like mercurial) in large corporation कर सकते हैं।

एक VCS की तुलना में एक DVCS की सीमा अनिवार्य रूप से कर रहे हैं:

  • size (आप अनिश्चित काल के लिए एक DVCS में सब कुछ जमा नहीं किया जा सकता है, यानी आप अपनी विकास डेटा as modules instead of a monolithic set of files अभी भी बड़ी में पाया जा सकता है पर पुनर्विचार करना चाहिए परियोजनाओं)
  • सही पहुंच प्रबंधन: यह एक डीवीसीएस में ठीक से नहीं है क्योंकि यह वीसीएस में हो सकता है, अनिवार्य रूप से क्योंकि कई बाहरी पार्टियां विभिन्न उपयोगकर्ता प्रमाणीकरण योजनाओं के साथ एक परियोजना में योगदान दे सकती हैं। ownership प्रबंधन के लिए trickier है।
  • कार्यप्रवाह: एक DVCS कार्यप्रवाह अधिक जटिल है, भले ही यह कर सकते हैं emulate the one of a CVCS (एक अन्य सभी के लिए संदर्भ के रूप में केंद्रीय रेपो अभिनय)

जिसके अनुसार, DVCS allows for a new way to publish (पुल/पुल) डेटा, जिसके लिए मदद कर सकते हैं इंटर-टीमें "प्री-डिलीवरी" (जब कोई टीम अभी भी प्रगति पर है और अभी तक केंद्रीय भंडार के लिए आधिकारिक तौर पर प्रतिबद्ध नहीं है) के विकास को साझा करना चाहता है): आप passive produced and an active consumer बन जाते हैं।


Tomislav Nakic-Alfirevic टिप्पणी में पूछते हैं:

आप अपने दूसरे एक केंद्रीकृत एक के साथ एक डीवीसी की तुलना बिंदु को वर्णन कर सकता है?

सही पहुँच प्रबंधन, चालबाज है, खासकर यदि बड़े निगम:

  • बाहरी उद्यम के साथ अपने भंडार में से कुछ साझा करने के लिए साझा करने के लिए है बाहर के सहयोग से विकास
  • करने के लिए अपने खजाने में से कुछ की अनुमति देता है व्यक्तिगत कंप्यूटर पर क्लोन किया जाना चाहिए (जब विभिन्न साइट पर मोबाइल वातावरण में काम करते हैं, जहां डेवलपर के पास हमेशा एंटरप्राइज़ नेटवर्क तक पहुंच नहीं होती है)

वें ose मामलों, इसका मतलब है:

  • उपयोगकर्ता प्रमाणीकरण हमेशा मेल नहीं करना आसान होता है (उसी उपयोगकर्ता के पास अलग-अलग पहचान हो सकती है, जहां वह भंडार क्लोन करता है)। एक एसएसएच-आधारित प्रमाणीकरण स्थापित किया जा सकता है (गिटोसिस, gitauth)।
  • फ़ाइल से संबद्ध मेटाडाटा सीमित हैं, Git tags for instance
    के माध्यम से
    (other tools are not transparently supported से मेटाडाटा)
    (special characters in filenames can be problematic)
  • (उदाहरण के लिए एक फ़ाइल के समूह भी कंप्यूटर जहां रेपो क्लोन है पर मौजूद नहीं हो सकता है)
  • एक्सेस अधिकार अक्सर सभी रिपॉजिटरी तक सीमित नहीं होते हैं और मूल रूप से प्रति शाखा या प्रति फ़ाइल प्रबंधित नहीं होते हैं (गिट के लिए gitolite जैसे सर्वर को उस सीवीएस के विपरीत कॉन्फ़िगर किया जाना चाहिए, जिसका अर्थ हमेशा एक सर्वर है, जिसका अर्थ है कि कौन सा होगा एक बेहतर अनाज वाले एसीएल का प्रस्ताव देने के लिए अधिक इच्छुक हो)
  • 012 उदाहरण is a bit too simple के लिए

Git सीधे बड़ी कंपनी की चिंताओं का जवाब देने में:

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

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

+0

क्या आप एक केंद्रीकृत एक डीवीसी की तुलना में अपने दूसरे बिंदु को चित्रित कर सकते हैं? –

+0

@ टॉमिस्लाव: मैंने डीवीसीएस के साथ कुछ उपयोगकर्ता प्रबंधन चुनौतियों को प्रतिबिंबित करने के लिए अपना जवाब अपडेट किया है। – VonC

+0

धन्यवाद, प्रयास की सराहना करें! –

2

नहीं, निश्चित रूप से नहीं। यह सुझाव है कि डीवीसीएस उद्यम के लिए उपयुक्त नहीं होगा, जो कि झूठी झूठी है, जो लोगों के लिए एक सामान्य एफयूडी तर्क है, जो किसी भी कारण से एसवीएन को त्यागने की इच्छा नहीं है।

वास्तविकता में, यह भी उद्यम सेटिंग्स में DVCSes आप कई लाभ दे:

  • उच्च प्रदर्शन अवरुद्ध अन्य लोगों
  • ऑफलाइन खतरे में डालकर काम कर के बिना समय पर चेक इन करने के लिए

    • क्षमता
    • प्रभावी शाखाओं/विलय
    • पहुंच पैटर्न खींचें

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

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

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

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

    संस्करण नियंत्रण प्रणाली के बीच अंतर में अंतर्दृष्टि प्राप्त करने के लिए पढ़ने के लिए एक बहुत अच्छा लेख Making Sense of Revision-Control Systems है।

  • +0

    डीवीसीएस प्रत्येक डेवलपर को भंडार पर अधिक नियंत्रण देता है। यह कॉर्पोरेट वातावरण की आवश्यकताओं के साथ अक्सर बाधाओं में होता है। आकार का मुद्दा भी है - अधिकांश कॉर्पोरेट रिपोज़ विशाल हैं। हालांकि डीवीसीएस के लिए फायदे हैं, मुझे लगता है कि हमें एक नया चाहिए जो प्रत्येक से सर्वश्रेष्ठ बिट्स लेता है। – gbjbaanb

    +0

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

    +0

    भी wrt। आकार, तब तक कोई समस्या नहीं है जब तक आप अपनी रिपोजिटरी संरचना में कुछ विचार न करें और एक एकल-यह-सभी भंडार न बनाएं। अपनी उप-परियोजनाओं को एकाधिक भंडारों में विभाजित करें, विशाल बाइनरी में जांच न करें (इसके बजाय मेवेन या चींटी + आइवी जैसे कलाकृतियों के साथ एक बिल्ड सिस्टम का उपयोग करें), और अपनी कला या अन्य संपत्तियों के लिए एक अलग भंडार बनाएं। –

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