सम्मेलन संस्करण संख्याओं के लिए major.minor.build
है।
major
बढ़ता है जब सार्वजनिक इंटरफ़ेस असंगत रूप से बदलता है। उदाहरण के लिए, एक विधि हटा दी जाती है, या इसके हस्ताक्षर में परिवर्तन होता है। आपकी लाइब्रेरी का उपयोग करने वाले ग्राहकों को एक अलग प्रमुख संस्करण के साथ लाइब्रेरी का उपयोग करते समय देखभाल करने की आवश्यकता होती है, क्योंकि चीजें तोड़ सकती हैं।
minor
बढ़ता है जब सार्वजनिक इंटरफ़ेस संगत तरीके से बदलता है। उदाहरण के लिए, एक विधि जोड़ा जाता है। ग्राहकों को नए संस्करण का उपयोग करने के बारे में चिंता करने की आवश्यकता नहीं है, क्योंकि वे जो भी फ़ंक्शंस देखने के लिए उपयोग किए जाते हैं वे अभी भी वहां होंगे और वही कार्य करेंगे।
build
फ़ंक्शन के कार्यान्वयन के दौरान वृद्धि हुई है, लेकिन कोई हस्ताक्षर जोड़े या हटा दिए गए हैं। उदाहरण के लिए, आपको एक बग मिला और इसे ठीक किया गया। ग्राहकों को शायद नए संस्करण में अपडेट करना चाहिए, लेकिन यदि यह काम नहीं करता है क्योंकि वे टूटे हुए व्यवहार पर निर्भर हैं, तो वे आसानी से डाउनग्रेड कर सकते हैं।
यहां मुश्किल समस्या यह है कि ऐसा लगता है कि आप किसी और द्वारा लिखे गए कोड को संशोधित और संशोधित कर रहे हैं। यहां पर सम्मेलन, जैसा कि मैंने इसे देखा है, संस्करण संख्या को -yourname-version
या बस - version
के साथ पोस्टफिक्स करना है। उदाहरण के लिए, linux-image-2.6.28-27
उबंटू कर्नेल छवि का संभावित नाम है।
चूंकि मैवेन आर्टिफैक्ट निर्देशांक के बीच अंतर करने के लिए डैश का उपयोग करता है, हालांकि, मैं इसे भ्रमित करने से बचने के लिए .version
जोड़ने के लिए (बहुत लंबे समय तक, स्पष्ट रूप से) अनुशंसा करता हूं। तो इस मामले में 3.6.2.1
।
अच्छा जवाब। मैं अर्थपूर्ण संस्करण के बारे में पढ़ने की भी सिफारिश करता हूं: http://semver.org/ – Nicholas