कछुआ svn के माध्यम से रिपॉजिटरी के माध्यम से एक प्लगइन को अपडेट करने का सही तरीका क्या है?


18

मुझे यह कहते हुए शर्म आ रही है कि मैं कछुआ svn के माध्यम से एक प्लगइन को अद्यतन करने के लिए इस्तेमाल की जाने वाली प्रक्रिया पर थोड़ा सा अस्पष्ट हूं, हालांकि मेरा प्लगइन वर्षों से रिपॉजिटरी पर है और 300,000 से अधिक डाउनलोड हुए हैं!

यहाँ svn के बारे में बहुत सारे सवाल हैं, लेकिन उन्होंने केवल मुझे और भ्रमित किया है: -z

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

यह मैं अब तक कर रहा हूं।

  1. जब तक मैं इससे खुश नहीं होता तब तक मेरे स्थानीय पर प्लगइन अपडेट को कोड करें
  2. मेरे स्थानीय प्लगइन फ़ोल्डर के अंदर / ट्रंक / (प्लगइन और रीडमी फ़ाइल में अपडेट किए गए संस्करण नंबर हैं) की सभी फाइलों पर कॉपी करें
  3. ट्रंक निर्देशिका
  4. ट्रंक डायरेक्टरी पर राइट क्लिक करें और क्रिएट ब्रांच / टैग चुनें और इसे फोल्डर में कॉपी करने के लिए सेट करें / टैग्स / नाम के साथ वर्जन नंबर

क्या यह सही है और सही क्रम में है? यदि नहीं, तो सही तरीका क्या है?

संस्करण संख्याओं के बारे में भी ...

किसी कारण से, मैं अपने आखिरी अपडेट पर संस्करण 2.8.1 से 2.81.2 तक चला गया, इसका मतलब यह है कि यह लोगों के डैशबोर्ड में उपलब्ध अपडेट के रूप में प्रदर्शित नहीं होगा, जिसका संस्करण 2.81.2 है अगर मैं अगला संस्करण संख्या बदलता हूं 2.9?

वर्डप्रेस कैसे निर्धारित करता है कि नवीनतम संस्करण कौन सा है और यदि उपयोगकर्ता को अपना संस्करण अपडेट करना चाहिए? यह एक version_compare करता है? यह केवल उचित php संस्करण प्रारूप के साथ काम करता है ना? जैसे। 2.9.2 को 2.81.2 से कम संस्करण माना जाता है? (क्योंकि, जैसा कि मैं इसे समझता हूं, वर्जन_कॉमर्स बाईं ओर शुरू होता है और प्रत्येक अंक के लिए उच्च / निम्न की तुलना करता है इसलिए 9 को 81 से अधिक माना जाएगा)

एक और सवाल,

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

क्या मुझे ट्रंक और टैग फ़ोल्डर को संपादित करना है और दोनों को प्रतिबद्ध करना है?


2
कोई शर्मिंदा होना करने के लिए कारण, मैं भी लगभग एक महीना पहले समस्या नहीं थी और आप वास्तव में मैं से आगे एक बहुत आए हैं :) @EAMann, वास्तव में अच्छी तरह, सहित स्क्रीनशॉट पूरे प्रक्रिया का वर्णन इस धागे पर: wordpress.stackexchange.com/questions/ 16951 /…

जवाबों:


29

मुझे यह कहते हुए शर्म आ रही है कि मैं कछुआ svn के माध्यम से एक प्लगइन को अद्यतन करने के लिए इस्तेमाल की जाने वाली प्रक्रिया पर थोड़ा सा अस्पष्ट हूं, हालांकि मेरा प्लगइन वर्षों से रिपॉजिटरी पर है और 300,000 से अधिक डाउनलोड हुए हैं!

मत बनो। एसवीएन बहुत सारे लोगों के लिए मुश्किल हो सकता है ... तो चलिए कदम-दर-कदम चीजों के माध्यम से ...

यह मैं अब तक कर रहा हूं।

  1. जब तक मैं इससे खुश नहीं होता तब तक मेरे स्थानीय पर प्लगइन अपडेट को कोड करें
  2. मेरे स्थानीय प्लगइन फ़ोल्डर के अंदर / ट्रंक / (प्लगइन और रीडमी फ़ाइल में अपडेट किए गए संस्करण नंबर हैं) की सभी फाइलों पर कॉपी करें
  3. ट्रंक निर्देशिका
  4. ट्रंक डायरेक्टरी पर राइट क्लिक करें और क्रिएट ब्रांच / टैग चुनें और इसे फोल्डर में कॉपी करने के लिए सेट करें / टैग्स / नाम के साथ वर्जन नंबर

क्या यह सही है और सही क्रम में है? यदि नहीं, तो सही तरीका क्या है?

लगभग ...

कदम तुम चाहिए निम्नलिखित है:

  1. जब तक आप इससे खुश न हों, तब तक प्लगइन अपडेट को स्थानीय रूप से कोड करें
  2. readme.txtनए संस्करण संख्या से मिलान करने के लिए अपनी फ़ाइल में "स्थिर" टैग बढ़ाएँ
  3. अपने स्थानीय अपडेट को /trunkस्थानीय प्लगइन फ़ोल्डर की निर्देशिका में कॉपी करें
  4. रिपॉजिटरी में परिवर्तनों को सहेजने के लिए पूरे प्लगइन को प्रतिबद्ध करें/trunk
  5. राइट क्लिक करें /trunkऔर एक नया टैग बनाएं, /tags/X.X.Xजहां xxx "स्थिर" टैग readme.txt(चरण 2) में समान संस्करण है
  6. टैग को बचाने के लिए पूरे प्लगइन को प्रतिबद्ध करें

किसी कारण से, मैं अपने आखिरी अपडेट पर संस्करण 2.8.1 से 2.81.2 तक चला गया, इसका मतलब यह है कि यह लोगों के डैशबोर्ड में उपलब्ध अपडेट के रूप में प्रदर्शित नहीं होगा, जिसका संस्करण 2.81.2 है अगर मैं अगला संस्करण संख्या बदलता हूं 2.9?

बिंगो। यदि आपने अपडेट के रूप में संस्करण 2.81.2 किया है और लोगों ने वास्तव में उस अपडेट को डाउनलोड किया है, तो जब आप इसे जारी करते हैं तो वे 2.9 नहीं देखेंगे।

वर्डप्रेस कैसे निर्धारित करता है कि नवीनतम संस्करण कौन सा है और यदि उपयोगकर्ता को अपना संस्करण अपडेट करना चाहिए? यह एक version_compare करता है? यह केवल उचित php संस्करण प्रारूप के साथ काम करता है ना? जैसे। 2.9.2 को 2.81.2 से कम संस्करण माना जाता है? (क्योंकि, जैसा कि मैं इसे समझता हूं, वर्जन_कॉमर्स बाईं ओर शुरू होता है और प्रत्येक अंक के लिए उच्च / निम्न की तुलना करता है इसलिए 9 को 81 से अधिक माना जाएगा)

बिल्कुल सही। एक मानक PHP संस्करण तुलना में संस्करण 2.81.2 को 2.9 से एक नया संस्करण होने के रूप में देखा जाएगा क्योंकि 81> 9।

मैं आपको अगले संस्करण 3.0 जारी करने की सलाह देता हूं, फिर इस तरह के टाइपो को रोकने के लिए भविष्य में संस्करण बनाते समय बहुत सावधान रहें

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

क्या मुझे ट्रंक और टैग फ़ोल्डर को संपादित करना है और दोनों को प्रतिबद्ध करना है?

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

2      .      1       .       3       .       5
major         minor           maint           build

बिल्ड नंबर मैं केवल कभी आंतरिक रूप से या बीटा रिलीज़ के लिए उपयोग करता हूं ... आप लगभग कभी नहीं होंगे मुझसे कोई बिल्ड नंबर देख सकते हैं जब तक कि मैं मैन्युअल रूप से आपको एक फ़ाइल ईमेल नहीं करता (यह है कि मैं पूर्व-रिलीज़ संस्करण वितरित कर सकता हूं जो वर्डप्रेस अपडेट नहीं तोड़ेंगे) ।

अगर मुझे लाइव संस्करण में बग दिखाई देता है, तो मैं एक त्वरित पैच बनाऊंगा और एक रखरखाव संस्करण जारी करूंगा। मान लीजिए कि मैंने एक प्लगइन का संस्करण 2.2 जारी किया है और कोई नोटिस जिसे मैं noConflict () मोड में jQuery लागू करना भूल गया। मैं एक त्वरित पैचअप करूंगा और तुरंत 2.2.1 रिलीज करूंगा।

संस्करण में वृद्धि वर्डप्रेस को अपडेट को पहचानने और किसी को भी ठीक करने के लिए मजबूर करेगी जो पहले से स्थापित संस्करण 2.2 है।

एक रखरखाव संस्करण जारी करने के लिए, आपको ठीक उसी चरणों का पालन करने की आवश्यकता है जैसे कि आप सिस्टम का पूर्ण संस्करण जारी कर रहे थे। इसलिए बदलाव करें, संस्करण को readme.txtबढ़ाएं /trunk, कमिट करें , टैग करें आदि।

लेकिन एक बार जब आप किसी चीज़ को टैग कर लेते हैं, तो आप इसे फिर कभी नहीं बदलते हैं। अपने /tagsफोल्डर को समय रहते फ्रोजन समझें। उस फ़ोल्डर में प्रत्येक संस्करण एक विशिष्ट बिंदु पर आपके प्लगइन का एक स्नैपशॉट है। आपको फ़ोल्डर में किसी भी फाइल को कभी भी /tagsसीधे नहीं बदलना चाहिए ।

यदि आप अपने आप को यह सोचते हुए पाते हैं कि यह एक अच्छा विचार हो सकता है, तो अपने आप को सिर के पीछे की ओर धकेलें और इसके बजाय एक रखरखाव संस्करण जारी करें :-)

जैसा कि पीट ने उल्लेख किया है, मैंने पहले चरण-दर-चरण निर्देशों का एक अच्छा सेट लिखा था ... लेकिन लगता है कि साइट ने मेरे स्क्रीनशॉट खो दिए हैं। यहाँ अपनी साइट पर होस्ट किए गए कछुए से स्क्रीनशॉट के साथ समान चरण-दर-चरण मार्गदर्शिका का एक और संस्करण है: http://eamann.com/tech/how-to-publish-a-wordpress-plugin-subversion/


2
बहुत बढ़िया जवाब। एक छोटा-सा संपादन हालांकि: जब आप कहते हैं कि टैग की गई चीज़ को कभी मत बदलो, यह लगभग सच है। कहते हैं कि आप अपने रीडमी में ही टाइपो बनाते हैं, इसे ठीक करने के लिए केवल रखरखाव रिलीज करने की आवश्यकता नहीं है। आज के प्रमुख देवों में से एक के साथ # वर्डप्रेस-मेटा में चैटिंग कर रहा था, जिसने उल्लेख किया कि यह केवल आपके टैग किए गए संस्करण को संपादित करना ठीक है, जब तक कि यह सिर्फ रीडमे.टेक्स्ट फ़ाइल है। कोई अन्य नहीं। सामान्य तौर पर, हां, अपनी टैग की गई फ़ाइलों को संपादित करने से दूर रहें।
एंडी मर्सर

बहुत बढ़िया जवाब। केवल एक चीज मैं जोड़ूंगा कि जब यह प्लगइन संस्करण संख्याओं की बात आती है, तो सेमैटिक वर्जनिंग का उपयोग करना एक अच्छा विचार है, हालांकि आपके पास नहीं है, यह उपयोगकर्ताओं के लिए यह जानना बहुत आसान बनाता है कि क्या आपका प्लगइन संभावित रूप से आपकी साइट को तोड़ सकता है यदि यह है एक मुख्य संस्करण परिवर्तन। आपके प्लगइन को संस्करणित करने के लिए आपने जो भी सिस्टम चुना है, उसमें शामिल हों और रीडमी चैंज को अपडेट करने के लिए याद रखें।
एरॉन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.