क्या मेटाडेटा की कमी के कारण एसवीएन में विलय के बारे में असुविधा अब तक v1.5 से पहले अप्रचलित है?


11

मैं एसवीएन के साथ शुरू कर रहा हूं और इसलिए कई स्रोतों का कहना है कि डीवीसी टूल्स की तुलना में एसवीएन में विलय बहुत मुश्किल है। एसई पर मुझे यहां सबसे हाल के प्रश्न 2012 से मिल सकते हैं।

कभी-कभी ऐसा उल्लेख मिलता है कि इसका कारण यह है कि v1.5 से पहले के SVN में मेटाडेटा नहीं था, लेकिन SVN अभी 1.8.9 संस्करण पर है।

यह देखते हुए कि SVN अब v1.5 की तुलना में अधिक परिपक्व है, और विशेष रूप से तथ्य यह है कि हमने SVN 1.5 का उपयोग नहीं किया है, इसलिए हम मेटाडेटा की उल्लिखित कमी से पीड़ित नहीं हैं - क्या SVN के खिलाफ उन तर्कों में अभी भी बहुत वैधता है?

मैं समझता हूं कि DVCS के पास एक पूरी तरह से अलग दृष्टिकोण है जो अक्सर अधिक वांछनीय होता है, लेकिन उन लोगों के लिए जो किसी भी कारण से "एसएनएन" का उपयोग करते हैं, विलय अब वास्तव में "नरक" नहीं है, क्या यह है?


3
@ TorbenGundtofte-Bruun - मेरे पास इस तरह का जवाब देने के लिए अभी समय नहीं है, लेकिन मैं कहूंगा "एसवीएन से डरें नहीं।" इसकी सीमाएँ हैं, लेकिन ऐसा डीवीसीएस करता है।
kdgregory

जवाबों:


15

यदि आप साधारण मामलों से चिपके रहते हैं तो यह ठीक काम करता है , लेकिन कुछ जटिल हैं जो नहीं करते हैं।

मैं जिन सीमाओं के बारे में सोच सकता हूं:

  • यह केवल सबसे हाल के पूर्वजों को खोज सकता है यदि यह शामिल शाखाओं में से एक पर है। इसलिए यदि आप बनाते हैं branches/thisऔर branches/thatदोनों से trunkऔर फिर से विलय branches/thisकरने की कोशिश करते हैं branches/that, तो यह नहीं पता होगा कि क्या करना है। जिसका अर्थ है कि आप केवल शाखा को या उसके माता-पिता से विलय कर सकते हैं। यदि आप दो फीचर शाखाएँ शुरू करते हैं और बाद में महसूस करते हैं कि सुविधाएँ अन्योन्याश्रित हैं और उन्हें संयोजित करने की आवश्यकता है, तो आप इसमें भाग ले सकते हैं।

  • हालांकि यह दावा करता है कि यह नाम बदल सकता है, शाखाओं को विलय कर सकता है जब फाइलें एक तरफ स्थानांतरित हो जाती हैं और दूसरे पर संशोधित होती हैं, तो हमेशा विलय करने के लिए सही फाइलें नहीं मिलती हैं और मैन्युअल रूप से इसे ठीक करना कुछ हद तक थकाऊ है क्योंकि यह आवश्यक जानकारी को कहीं भी नहीं छोड़ता है। हाथ।

  • जोड़ी गई फ़ाइलें कभी-कभी बाद के मर्जों पर गंभीर संघर्ष का कारण बनती हैं।

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

  • अंतिम लेकिन कम से कम यह धीमा नहीं है । किसी भी गंभीर आकार की परियोजना में विलय में अक्सर मिनट लगते हैं जहां अधिकांश DVCS इसे एक सेकंड के तहत कर सकते हैं ।


+1, बढ़िया जवाब। सामान्य पूर्वज के संबंध में बात यह है कि मुझे बाहर देखना होगा। क्या आपके पास इन तथ्यों के लिए कोई संदर्भ है?
डोभाल

1
@ डोभाल: अनुभव।
Jan Hudec

संभवतः यह भी उल्लेखनीय है कि svn dosen't टैग की एक अलग अवधारणा है
jk।

अपनी पहली बुलेट के बारे में (एक बहुत स्पष्ट स्पष्टीकरण के लिए धन्यवाद!) एक संचय शाखा का उपयोग करके हल नहीं किया जा सकता है जिसमें सुविधा शाखाओं के समान ही शाखा बिंदु है? ( Vance98 पर आधारित ) क्या समस्या केवल वास्तव में तब होती है जब दो सुविधा शाखाओं में अलग-अलग शाखाएँ होती हैं?
टॉर्बन गुंडोफ़्ते-ब्रून

@ TorbenGundtofte-Bruun: सबसे हाल के सामान्य पूर्वजों के लिए एक शाखा बिंदु नहीं होना चाहिए। आप इसे स्वयं पा सकते हैं और विशिष्ट खूंटी संशोधनों के बीच परिवर्तनों को लागू करने के लिए तोड़फोड़ बता सकते हैं। लेकिन समस्या यह है कि यह बहुत काम है और आपको यह महसूस करना होगा कि आपको यह करना होगा, क्योंकि तोड़फोड़ जरूरी नहीं है कि यह कहकर हाथ मिलाए कि यह विलय नहीं हो सकता। इसके बजाय यह एक सामान्य पूर्वज पा सकता है जो हाल ही में नहीं है और बहुत सारे संघर्ष उत्पन्न करता है।
Jan Hudec

1

मेरे अनुभव से, संस्करण 1.6 में SVN में विलय करना 'निश्चित' था। मैं मर्क्यूरियल और एसवीएन दोनों में काम करता हूं, और एसवीएन के संस्करण 1.6 के बाद से, विलय दोनों प्लेटफार्मों में समान काम के बारे में लगता है। एक अपवाद यह हो सकता है कि आपको --reintegrateएसवीएन का उपयोग करके एक शाखा से वापस ट्रंक में विलय करते समय विकल्प प्रदान करना याद रखना होगा ।

यह केवल मेरा परिचालन अनुभव है। मैं एसवीएन के आंतरिक के बारे में कुछ नहीं जानता।


2
१. "अंत में सौभाग्य से" पुनर्निवेश "केस का पता लगा सकता है। लेकिन यह केवल स्थानीय या रिमोट पर सबसे हाल के सामान्य पूर्वजों की देखभाल करता है। यह अभी भी तीसरी शाखा पर नहीं मिल सकता है।
जनवरी को Jan Hudec
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.