सीवीएस पर प्रोग्रामर एसवीएन को प्राथमिकता देने वाले कारणों में से एक है कि परमाणु परमाणु पूर्व अनुमति देता है? इसका क्या मतलब है ?
सीवीएस पर प्रोग्रामर एसवीएन को प्राथमिकता देने वाले कारणों में से एक है कि परमाणु परमाणु पूर्व अनुमति देता है? इसका क्या मतलब है ?
जवाबों:
इसका मतलब यह है कि जब आप संस्करण नियंत्रण प्रणाली के लिए एक प्रतिबद्ध करते हैं या तो आप जो कुछ भी करना चाहते हैं वह सब कुछ हो जाता है, या कुछ भी नहीं करता है।
सीवीएस में, जब आप कई फाइलों पर सफल होने के लिए प्रतिबद्ध होने की कोशिश करते हैं, तो कई अन्य पर असफल हो जाते हैं (क्योंकि वे बदल गए हैं)। यह रिपॉजिटरी को दुर्भाग्यपूर्ण स्थिति में छोड़ देता है क्योंकि आपकी आधी प्रतिबद्धता नहीं है, और यह संभावना है कि आपने ऐसी स्थिति में चीजों को छोड़ दिया है जहां वे संकलन या बदतर नहीं करेंगे। अब आपको जो कुछ भी बदलाव करना है उसे जल्दी करना और एकीकृत करना है ताकि आप किसी अन्य व्यक्ति को अपडेट करने और अपने परिवर्तनों के सेट को प्राप्त करने से पहले अन्य फ़ाइलों के लिए प्रतिबद्ध कर सकें।
एसवीएन में ऐसा नहीं होगा - एसवीएन या तो आपके द्वारा बदले गए सब कुछ को कम कर देगा, या यह पूरे बदलाव को विफल कर देगा। इस प्रकार, आप प्रतिबद्ध मुद्दों के कारण टूटी हुई स्थिति में भंडार को कभी नहीं छोड़ेंगे।
यह उदाहरण के लिए बाय-बाय सीवीएस में बताया गया है । मैं एंडी लेस्टर द्वारा लिखा गया लेख प्रस्तुत कर रहा हूं :
अगर मैं तोड़फोड़ करने की कोशिश करता हूं, लेकिन फ़ाइलों में से एक में एक संघर्ष है, या बाहर की तारीख है, कोई भी फाइल नहीं जाती है। सीवीएस में, आपको फ़ाइलों का एक आधा-कमिटेड सेट मिला है जिसे आपको अभी राइट को ठीक करना है।
तथ्य यह है कि सीवीएस प्रोग्रामर को तुरंत विलय को ठीक करने के लिए मजबूर करता है, क्योंकि यह काउंटर-उत्पादक है। इसकी तुलना में, परिवर्तनों को विलंबित / रद्द / सावधानीपूर्वक रद्द करने का एक विकल्प पर्याप्त लाभ है।
उपरोक्त लेख में समझाया गया CVS पर SVN के अन्य लाभ हैं:
आपके द्वारा किए जाने वाले हर चीज के स्थानीय संस्करण
यदि आप cvs को अलग करना चाहते हैं, तो आपको अपने भंडार से जुड़ने में सक्षम होना चाहिए। कोई नेट कनेक्शन, कोई अंतर नहीं। तोड़फोड़ आप क्या काम कर रहे हैं की स्थानीय प्राचीन प्रतियां संग्रहीत करता है, इसलिए svn diff सिर्फ ठीक काम करेगा। शुरू करना चाहते हैं? svn वापस काम करता है असंबद्ध, भी।संशोधन के प्रतीकात्मक नाम
HEAD सीवीएस में ट्रंक की नोक का नाम है, लेकिन मैं हमेशा "-r-1" कहने में सक्षम होना चाहता हूं जैसे मैं PVCS दिनों में वापस आ सकता हूं। CVS के साथ, मुझे एक cvs लॉग ऑन करना है जो मैं संपादित कर रहा हूं, और फिर एक को घटाएं। इसमें कोई मज़ा नहीं है। तोड़फोड़ के साथ, मैं svn diff -r PREV कह सकता हूं।वास्तविक स्थिति रिपोर्टिंग
सीवीएस में, एकमात्र तरीका जिसे आप देख सकते हैं कि सर्वर पर कुछ नया है, सीवीएस अपडेट के लिए है और आशा है कि जो भी नीचे आता है वह किसी भी टकराव का कारण नहीं बनता है। Svn स्थिति कमांड के साथ, मुझे वास्तविक स्थिति मिलती है, इसलिए मैं देख सकता हूं कि क्या कोई संघर्ष है या नहीं, मैं अपडेट करता हूं।
सीवीएस में मर्ज संघर्षों की मदद से निपटने , यदि संघर्ष होते हैं, तो आपको अपनी फ़ाइल में संघर्ष मार्कर मिलते हैं। सबवर्सन में, आपको संघर्ष मार्कर मिलते हैं, साथ ही आपकी मूल, पूर्व-संघर्ष फ़ाइल की एक प्रति, साथ ही सर्वर से नीचे आए संस्करण को भी, वह संस्करण जिसे आप मूल रूप से संपादित कर रहे थे। उसके बाद, आपको स्पष्ट रूप से svn को हल करना होगा। फ़ाइल नाम को बदलना होगा। सीवीएस में अब भी संयोग से कोई और गलती नहीं है।
इसका अर्थ है कि सभी फ़ाइलों के लिए सभी परिवर्तन एक ही लेनदेन में प्रतिबद्ध हैं, इसलिए सभी सफल या कोई भी नहीं।
इसका मतलब यह है कि आपको रिपॉजिटरी में आंशिक संपादन की जांच करने की संभावना कम है जो कि विफल होने का कारण बनता है। आप अभी भी सभी प्रासंगिक फ़ाइलों में जांच करने के लिए भूल रहे लोगों को प्राप्त कर सकते हैं, लेकिन यह संस्करण प्रक्रिया के साथ एक समस्या के बजाय एक प्रक्रिया मुद्दा है।