2008-09-20 14 views
5

मुझे आश्चर्य है कि आप अपने ऐप के लाइव नए संस्करणों को दबाते समय रिलीज संशोधन संख्या प्रदर्शित करने के साथ कैसे निपटते हैं?फ़ाइल में नवीनतम संशोधन कैसे प्रदर्शित करें?

नवीनतम संशोधन प्राप्त करने के लिए आप फ़ाइल में $Rev$ का उपयोग कर सकते हैं, लेकिन केवल फ़ाइल को अपडेट करने के बाद ही।

क्या होगा यदि मैं एक फ़ाइल में एक स्ट्रिंग को अद्यतन करना चाहता हूं हर बार जब मैं रिपोजिटरी/निर्देशिका में कोई फ़ाइल बदलता हूं?

क्या कोई तरीका है?

उत्तर

2

क्या आपने हुक का उपयोग करने की कोशिश की? वे केवल सर्वर-साइड पर काम करते हैं लेकिन चाल चल सकते हैं। अन्यथा यदि आप कीवर्ड आपके लिए उपयुक्त नहीं हैं तो मैं सिर्फ एक स्क्रिप्ट को संशोधित करता हूं।

+1

हुक में कोड/फ़ाइलों को बदलने की सिफारिश नहीं की जाती है –

+1

बेशक, लेकिन यह काम करता है। यदि आपके पास बेहतर समाधान है तो आगे बढ़ें। ;) – unexist

2

रिलीज के निर्माण/तैनाती के हिस्से के रूप में फ़ाइल को स्वचालित रूप से अपडेट करें।

+0

प्रक्रिया के हिस्से के रूप में आप स्वचालित रूप से फ़ाइल को कैसे अपडेट करते हैं? –

+0

मुझे नहीं पता कि आपकी प्रक्रिया कैसी दिखती है। आपके पास शायद एक निर्माण उपकरण या स्क्रिप्ट है जहां आप पैकेज बनाने से पहले या फ़ाइलों को प्रतिलिपि बनाने से पहले अतिरिक्त कदम जोड़ सकते हैं ... – Alexander

1

एक परियोजना पर जहां मेरे पास ऐसा कारण था, मैंने धोखा दिया: यह शुरू होने पर svnversion पर कॉल करता है।

8

ऐसा करने का सबसे अच्छा तरीका रिलीज़ के लिए एक बिल्ड स्क्रिप्ट है जो svnversion या svn info का उपयोग करके संशोधन संख्या निर्धारित करेगा और इसे एक फ़ाइल में डालें। यह हमेशा एक स्क्रिप्ट जो प्राप्त करने में उपयोगी है:

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

फिर आपके पास एक आसानी से पहचाने जाने योग्य संस्करण के साथ रिलीज बनाने के लिए एक-चरण की प्रक्रिया है। यह आपको किसी को अपनी कार्यशील प्रतिलिपि बनाने से बचाने में भी मदद करता है, जिसमें ऐसे परिवर्तन हो सकते हैं जिन्हें कभी भी स्रोत नियंत्रण में चेक नहीं किया गया था।

1

alexander के रूप में, निर्माण प्रक्रिया के हिस्से के रूप में संशोधन को अद्यतन करने का एक तरीका है।

ऐसा करने का एक तरीका यह है कि buildbot जैसे टूल का उपयोग करके, अपने संस्करण नियंत्रण चेकइन से ट्रिगर की गई स्वचालित निर्माण प्रक्रिया से आपकी रिलीज का निर्माण किया जाए।

एक परिदृश्य आपके उपवर्तन भंडार पर पोस्ट-हुक स्क्रिप्ट का उपयोग करके स्वचालित निर्माण को ट्रिगर करने के लिए हो सकता है। इससे आपके बिल्डबॉट को हाल ही में संशोधित संशोधन में अपडेट करने का कारण बनता है। आपकी बिल्ड स्क्रिप्ट (उदाहरण के लिए मेकफ़ाइल) भंडार संशोधन को पढ़ने के लिए 'svnversion' (या 'svn info' और grep) का उपयोग करेगी और बिल्ड होने से पहले इसे हेडर फ़ाइल में लिख दें।

सफल निर्माण के बाद, रिलीज संस्करण के बारे में एक उपयुक्त टिप्पणी के साथ स्वचालित रूप से इस फ़ाइल को रिपोजिटरी में वापस जांचें।

3

SubWCRev.exe नामक TortoiseSVN में एक साधारण टूल है। यह पथ से संशोधन लेता है और आपके स्वयं के टेम्पलेट से फ़ाइल बनाते हैं। आप इसे प्रीबिल्ड कमांड के रूप में उपयोग कर सकते हैं।

संबंधित मुद्दे