क्या लोग यहाँ कर सापेक्ष शक्तियों और Git, मर्क्युरियल, और बाज़ार की कमजोरियों के रूप में देखते हैं?
मेरी राय में गिट ताकत इसकी स्वच्छ अंतर्निहित डिज़ाइन और सुविधाओं का बहुत समृद्ध सेट है। मुझे यह भी लगता है कि बहु-शाखा भंडारों और शाखा-भारी वर्कफ़्लो के प्रबंधन के लिए सबसे अच्छा समर्थन है। यह बहुत तेज़ है और इसमें छोटा भंडार आकार है।
इसमें कुछ विशेषताएं हैं जो उपयोगी हैं लेकिन इनका उपयोग करने के लिए कुछ प्रयास करें। उनमें दृश्यमान वर्किंग एरिया और रिपोजिटरी डेटाबेस के बीच इंटरमीडिएट स्टेजिंग एरा (इंडेक्स) शामिल है, जो अधिक जटिल मामलों में बेहतर विलय समाधान, वृद्धिशील कमिटिंग और गंदे पेड़ के साथ काम करने की अनुमति देता है; का पता लगाने और समानता का उपयोग करके समानता का उपयोग करते हुए समानता का उपयोग करते हुए प्रतिलिपि बनाते हैं, जो कि अच्छी तरह से काम करता है और जो दोष (एनोटेट) की अनुमति देता है जो फाइलों में कोड आंदोलन का पालन कर सकता है और न केवल थोक नामों का पालन कर सकता है।
इसके नुकसान में से एक यह है कि एमएस विंडोज़ समर्थन पीछे है और पूर्ण नहीं है। एक अन्य कथित नुकसान यह है कि यह मर्क्यूरियल उदाहरण के लिए भी दस्तावेज नहीं है, और प्रतियोगिता से कम उपयोगकर्ता अनुकूल है, लेकिन यह बदलता है।
मेरी राय में Mercurial ताकत अपने अच्छे एमएस विंडोज समर्थन में अपने अच्छे प्रदर्शन और छोटे भंडार आकार में निहित है।
मुख्य disadvanatge मेरी राय में है कि स्थानीय शाखाएं (एकल भंडार में कई शाखाएं) अभी भी द्वितीय श्रेणी के नागरिक हैं, और अजीब और जटिल तरीके से यह टैग लागू करता है। फ़ाइल नामों के साथ जिस तरह से यह सौदा करता है वह सबोपेटिमल था (लेकिन यह माइग बदल गया है)। Mercurial ऑक्टोपस विलय (दो से अधिक माता-पिता के साथ) का समर्थन नहीं करता है।
से जो मैंने सुना है और मुख्य पढ़ा है बाज़ार लाभ यह केंद्रीकृत कार्यप्रवाह के लिए आसान समर्थन (जो भी नुकसान है, केंद्रीकृत अवधारणाओं दिखाई जहां यह नहीं करना चाहिए के साथ), पर नज़र रखने के दोनों फ़ाइलों और निर्देशिकाओं के renames हैं।
इसका मुख्य नुकसान लंबे समय तक nonlinear इतिहास के साथ बड़े भंडारों के लिए प्रदर्शन और भंडार आकार (प्रदर्शन कम से कम बड़े भंडार के लिए कम से कम सुधार) है, तथ्य यह है कि डिफ़ॉल्ट प्रतिमान प्रति भंडार एक खेत है (आप इसे साझा करने के लिए सेट कर सकते हैं डेटा, हालांकि), और केंद्रीकृत अवधारणाओं (लेकिन जो मैंने परिवर्तनों को सुना है उससे भी)।
गिट सी, खोल स्क्रिप्ट और पर्ल में लिखा गया है, और स्क्रिप्ट योग्य है; Mercurial सी (कोर, प्रदर्शन के लिए) और पायथन में लिखा है, और एक्सटेंशन के लिए एपीआई प्रदान करता है; बाजार पायथन में लिखा गया है, और एक्सटेंशन के लिए एपीआई प्रदान करता है।
एक दूसरे के साथ और SVN और लाज़िमी की तरह संस्करण नियंत्रण प्रणाली के खिलाफ उनमें से प्रत्येक पर विचार में, क्या मुद्दों पर विचार किया जाना चाहिए?
सबवर्जन (एसवीएन), पर्सफोर्स, या क्लीयरकेस जैसे संस्करण नियंत्रण प्रणाली केंद्रीकृत संस्करण नियंत्रण प्रणाली हैं। गिट, मर्कुरियल, बाज़ार (और डार्क्स, मोनोटोन और बिटकिपर) वितरित संस्करण नियंत्रण प्रणाली हैं। वितरित संस्करण नियंत्रण प्रणाली वर्कफ़्लोज़ की विस्तृत श्रृंखला के लिए अनुमति देती है। वे "तैयार होने पर प्रकाशित" का उपयोग करने की अनुमति देते हैं। शाखाओं और भारी विलय के लिए, और शाखा-भारी वर्कफ़्लो के लिए उनके पास बेहतर समर्थन है। आपको आसानी से योगदान प्राप्त करने में सक्षम होने के लिए प्रतिबद्ध पहुंच वाले लोगों पर भरोसा करने की आवश्यकता नहीं है।
इन वितरित संस्करण नियंत्रण प्रणाली से एक के लिए SVN से एक प्रवास की योजना बनाने में क्या कारकों पर विचार करेंगे?
एसवीएन के साथ इनट्रैक्टिंग के लिए समर्थन करने वाले कारकों में से एक है; गिट में गिट-एसवीएन है, बाज़ार में बीजीआर-एसवीएन है, और मर्कुरियल में ह्यूसबर्सन एक्सटेंशन है।
अस्वीकरण: मैं गिट उपयोगकर्ता और छोटे समय के योगदानकर्ता हूं, और गिट मेलिंग सूची (और भाग) पर देखते हैं। मैं केवल अपने दस्तावेज़ीकरण से, Mercurial और बाज़ार को जानता हूं, आईआरसी और मेलिंग सूचियों पर विभिन्न चर्चा, और विभिन्न संस्करण नियंत्रण प्रणालियों की तुलना में ब्लॉग पोस्ट और आलेख (जिनमें से कुछ गिट विकी पर GitComparison पृष्ठ पर सूचीबद्ध हैं)।
Mercurial और Git के बीच एक विंडोज विशिष्ट तुलना के लिए यह प्रश्न देखें: http://stackoverflow.com/questions/2550091/best-support-now-on-windows-mercurial-or-git – alexandrul
बीटीडब्ल्यू, मैं चाहता हूं विभिन्न डीवीसीएस सिस्टम के उपयोग के प्रतिशत देखें। – sergiol