नए विकास को बंद करने से पहले या किसी रिलीज को टैग करते समय टक्कर संस्करण, जो बेहतर है?


9

कुछ परियोजनाएं एक नए विकास को बंद करने से पहले संस्करण को टक्कर देती हैं, जबकि अन्य परियोजनाएं रिलीज़ को टैग करते समय संस्करण को टक्कर देती हैं।

कौन सा दृष्टिकोण बेहतर है?

यदि नए चरण की शुरुआत में संस्करण संख्या नहीं बदली गई है, तो डेवलपर्स इसे बदलना भूल सकते हैं और बस कार्यक्रम जारी कर सकते हैं।

यदि रिलीज़ होने से पहले संस्करण संख्या बदल जाती है, तो 2 संस्करण संख्याएँ (टैग और मेकफाइल / असेंबलीइन्फो.कैंस) मेल नहीं खाती हैं।

git describe यदि वर्तमान संशोधन v1.2.3.4 के बाद वर्तमान संशोधन है, तो आपको v1.2.3.4-15-g1234567 दे सकता है, लेकिन आपने पहले से ही v1.2.3.5 की फ़ाइलों को बदल दिया है

जवाबों:


2

संस्करण संख्या के लिए मुख्य कारण यह है कि जब एक बग की खोज की जाती है तो आप स्रोत कोड के वास्तविक संस्करण का उपयोग करके डिबग करने में सक्षम होते हैं जो वास्तव में त्रुटि हुई थी (इस प्रकार बग के वास्तविक कारण की खोज)।

इससे कोई फर्क नहीं पड़ता कि आप अपने संस्करण का उपयोग कब तक करते हैं, जब तक आपकी उपज का उपयोगकर्ता डेवलपर को पर्याप्त जानकारी के लिए संवाद कर सके, ताकि डेवलपर अपने लक्ष्य को प्राप्त कर सके।

संस्करण के लिए अन्य कारण विपणन और मदद (कभी-कभी कानूनी) टीमों के लिए हैं।
वर्जनिंग के लिए इन टीमों की अपनी प्राथमिकता है।

  • सहायता
    संगतता और सुविधाओं और संभावित स्थिरता (देखें लिनक्स अजीब / यहां तक कि इस योजना) निर्धारित करने के लिए एक आसान तरीका चाहता है।
  • मार्केटिंग
    हर बार एक बड़ी संख्या चाहता है (अधिमानतः 2 से ऊपर)
  • कानूनी रूप
    से यह सुनिश्चित करना चाहता है कि संख्या बढ़ाने से पहले आपके पास सभी सुविधाएँ हैं।

सभी मामलों में इस्तेमाल की गई योजना महत्वहीन है। जब तक आप सुसंगत हैं (या अर्थ में परिवर्तन पर अत्यधिक विस्तृत दस्तावेज आसानी से उपलब्ध हैं)।


1

.NET असेंबली जैसे चार-खंड संस्करण संख्याओं का उपयोग करते समय, मैं पहले तीन खंडों को सेट करने के लिए एक संस्करण नियंत्रण टैग का उपयोग करना पसंद करता हूं, फिर चौथे खंड में उस टैग के बाद से कमिट्स की संख्या होती है।

उदाहरण के लिए, एक संस्करण को "v1.2.3" टैग किया जाता है। यदि git-describe"v1.2.3-4-g1a2b3c4" रिटर्न देता है, तो निर्मित होने पर उस असेंबली को 1.2.3.4 के रूप में संस्करणित किया जाता है।

यदि कोई टैग बाद में उस संस्करण पर लागू होता है, तो git-describeइसके बजाय "v1.2.4" वापस आएगा, जो संस्करण 1.2.4.0 का प्रतिनिधित्व करता है। अगली प्रतिबद्धता तब 1.2.4.1 होगी।

इस प्रणाली से मुझे मिलने वाले लाभ हैं:

  • हर कमिट स्वचालित रूप से संस्करण संख्या में वृद्धि करता है।
  • एक संस्करण को केवल टैग करके ".0" रिलीज़ किया जा सकता है।
  • हालांकि सही नहीं है, यह सिस्टम डीवीसीएस के साथ काम करता है क्योंकि यह सबसे हालिया टैग के बाद से कमिट की संख्या गिना जाता है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.