एक प्रोजेक्ट को फोर्क किया, मेरे वर्जन नंबर कहां से शुरू होते हैं?


12

मैंने एक प्रोजेक्ट को कांट-छांट किया है और बहुत सारे बदलाव किए हैं। यह कांटा सिर्फ एक छोटी सी सुविधा परिवर्तन नहीं है और एक दफन बग को ठीक करता है, यह एक बहुत बड़ा बदलाव है। केवल अधिकांश कोर कोड साझा किए जाते हैं।

मैंने इस परियोजना को v2.5.0 पर कांटा। थोड़ी देर के लिए मैंने अपने कांटे को v3.0 पर संस्करण देना शुरू कर दिया है। हालांकि मुझे यकीन नहीं है कि यह सही तरीका है, मुख्यतः क्योंकि जब यह प्रोजेक्ट v3.0 हिट करता है, तो चीजें भ्रमित हो जाती हैं। लेकिन मैं v1.0 या v0.1 पर शुरू नहीं करना चाहता क्योंकि इसका मतलब है कि शैशवावस्था, अस्थिरता और किसी परियोजना की गैर-निर्भरता। यह सच नहीं है, क्योंकि अधिकांश कोर कोड बहुत परिष्कृत और स्थिर हैं।

मैं वास्तव में क्या करने के लिए खो गया हूं, इसलिए मैं यहां पूछता हूं: इस तरह की स्थिति से निपटने के लिए मानक तरीका क्या है? अधिकांश कांटे फिर से शुरू करते हैं, संस्करण संख्याओं को उछालते हैं, या कुछ और करते हैं जो मुझे नहीं पता है।


5
मैं नहीं देखता कि कैसे 1.0 शैशवावस्था या अस्थिरता को लागू करता है। 1.0 से नीचे कुछ भी हाँ, लेकिन 1.0 का तात्पर्य 'शैशवावस्था' की अवधि से बाहर है और रॉक के लिए तैयार है। यदि यह आपको अधिक आरामदायक बनाता है, तो 1.1 (10% अतिरिक्त परिपक्वता !!!) के साथ जाएं;)
Mchl

1
जिज्ञासा से बाहर, आपने क्या कांटा लगाया?
कंपैन

जवाबों:


13

अधिकांश कांटे जिन्हें मैंने 1.0 संस्करण से फिर से शुरू देखा है। लेकिन मुझे लगता है कि आपने अपने कांटे का नाम भी बदल दिया है, इसलिए मुझे यकीन नहीं है कि अगर आप केवल v3.0 से शुरू करते हैं तो भ्रम क्यों होगा।

मैं क्या करूंगा कि परियोजना का नाम बदल दिया जाए, संस्करण 1.0 जारी करें और यह स्पष्ट करें कि परियोजना किसी अन्य परियोजना का कांटा है। मुझे नहीं लगता कि उस दृष्टिकोण से कोई भ्रम होगा।

यदि आप "1.0" लेबल के बारे में वास्तव में चिंतित हैं, तो 1.0 के थोड़े समय बाद संस्करण 2.0 जारी करें ...


... या सीधे v2.0 जारी, पूरी तरह से v1.0 लंघन। ऐसा पहली बार नहीं होगा।
कोनामिमन

मेरी कंपनी में एक परियोजना v2.4 पर भी शुरू हुई।
user253751

6

अपना स्वयं का रोडमैप रखें और मूल संस्करण की संख्या से शुरू करके, लेकिन मूल उत्पाद के वर्तमान संस्करण के साथ दौड़ लगाने का प्रयास न करें।


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

मुझे सही साबित होना है। आपको अपना स्वयं का v1.0 शुरू करना चाहिए, जो आपको अंतर करने में मदद करेगा। संस्करणों को कुछ मतलब होना चाहिए, न कि केवल कुछ मार्केटिंग स्टंट (v.gr। "V5.4" बस नया नहीं दिखना चाहिए)।
ड्यूकफैगिंग

1
@TomAnderson: अगर वह कहते हैं, तो संस्करण २.५, और उनके कांटे का पहला संस्करण २.६ या ३.० बना देता है, वह अपने प्रोजेक्ट के संपूर्ण इतिहास के रूप में अन्य ऐप को इंगित कर सकता है । जो एक मामूली सार्थक सहसंबंध है।
डग्म

3

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

एक उदाहरण के रूप में मारियाडीबी की जांच करें, जो MySQL का एक कांटा है। वे इसे MySQL के लिए एक 'ड्रॉप-इन' प्रतिस्थापन रखना चाहते हैं, इसलिए उदाहरण के लिए MariaDB 5.2 में MySQL 5.2 की सभी विशेषताएं हैं।

देखें: http://kb.askmonty.org/v/mariadb-versus-mysql

नोट: जब से यह उत्तर पोस्ट किया गया है, MariaDB ने MySQL से पर्याप्त रूप से विचलन किया है और अब अपनी स्वयं की संस्करण योजना का अनुसरण कर रहा है।


1

0.1 शैशवावस्था का संकेत दे सकता है, लेकिन 1.0+ का अर्थ स्थिर है। प्रमुख संस्करण संख्याओं में वृद्धि जैसे कि 2.0, 3.0, आम तौर पर एक बड़ी सुविधा परिवर्तन का संकेत देती है।

उदाहरण के लिए

  • मेरे आवेदन का संस्करण 1.0 सेटअप के साथ परीक्षण स्क्रिप्ट चलाने के लिए एक उपकरण था,
  • संस्करण 2.0 ने परीक्षण स्क्रिप्ट और पर्यावरण सेटअप स्क्रिप्ट के बीच अंतर को हटा दिया,
  • संस्करण 3.0 में फ्लो चार्ट के रूप में स्क्रिप्ट लिखने के लिए एक GUI जोड़ा गया। वे अलग-अलग उत्पाद हैं, लेकिन यहां तक ​​कि संस्करण 1 एक कामकाजी उत्पाद भी था, पूरी तरह से स्थिर आदि। संस्करण 2 और 3 के बारे में आया क्योंकि यह निर्णय लिया गया था कि ये बड़े बदलाव अच्छे होंगे। अगर हम इन बड़े बदलावों को नहीं चाहते थे, और बग फिक्स आदि करना जारी रखा था, तो माइनर वर्जन की संख्या सिर्फ 1.10,1.20 आदि बढ़ गई होगी, और यह ठीक रहा होगा।

मैं जो कह रहा हूं कि प्रमुख संस्करण संख्या परिपक्वता को इंगित नहीं करते हैं, वे प्रमुख फीचर सेट को इंगित करते हैं। अब यह था कि कैसे अपने उत्पाद को संस्करण संख्या से एक स्पर्शरेखा का एक सा था।

जो मैंने पहले देखा था, जो मुझे पसंद आया था कि 1.0 से फिर से संस्करण शुरू हो गया था (या 3.0 से अगर आप वास्तव में पसंद करते हैं) और फिर कोष्ठक में कह रहे हैं कि मूल के किस संस्करण में पिछली विशेषताओं को खींचा गया था।

  • प्रारंभ में: " MyFork v1.1 (ऑरिजनल ड्रोग v3.0 पर आधारित)
  • MyFork के लिए किए गए कुछ अनुचित: MyFork v1.3 (OrigProg v3.0 पर आधारित)
  • OrigProg ने एक प्रमुख संस्करण जारी किया और MyFork ने खींचा और विलय कर दिया: MyFork v2.1 (OrigProg v4.0 पर आधारित)
  • MyFork में कुछ बड़े बदलाव किए गए (शायद फिर से आसानी से OrigProg में विलय नहीं कर पाएंगे): MyFork v3.0 (OrigProg v4.0 पर आधारित)

0

यदि संभव हो तो, अपने कांटे को मूल परियोजना में वापस मर्ज करें। मैं इतना अधिक जोर नहीं डाल सकता।

अपने वर्जन नंबरों को रेग्युलेट करना, फिर जो आपने प्लस डेट प्रत्यय दिया है, उसका इस्तेमाल करें।


2
"पायथन 1.1" से "यूजरथॉन 1.1। {DATE}" से आगे बढ़ते हुए, वर्जन संख्याओं के अपेक्षित प्रारूप को तोड़ता है।
डग्म
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.