2010-02-02 12 views
79

मैं एक अलग संरचना के लिए बड़ी संख्या में एसवीएन प्रतिबद्ध संदेशों को फिर से लिखना चाहता हूं, उदा। एक श्रेणी उपसर्ग। से:एसवीएन प्रतिबद्ध संदेश को पीछे से बदलें?

"foo" now accepts "bar" format for connection string.

मैं

core - database - "foo" now accepts "bar" format for connection string.

चाहते है कि नहीं करता है यह करने के लिए एक आसान तरीका पूरे भंडार svndumpfilter का उपयोग कर डंपिंग शामिल है?

मैं क्लाइंट एंड पर TortoiseSVN के साथ काम कर रहा हूं, और सर्वर अंत में VisualSVN के साथ काम कर रहा हूं। svn:log संपत्ति पर उपयोग svn propset (VisualSVN क्लासिक svn, जो मैं रूप में अच्छी तरह कमांड लाइन के माध्यम से बात कर सकते हैं चारों ओर एक आवरण है।)

उत्तर

91

हां, संदेश भेज सकते हैं। वे नियमित फाइल-गुणों के समान, संशोधनों पर गुणों के रूप में लागू किए जाते हैं।

TortoiseSVN लॉग विंडो में आप एक प्रतिबद्धता पर राइट क्लिक कर सकते हैं और "लॉग संदेश संपादित करें" का चयन कर सकते हैं।

+0

+1 इसके लिए धन्यवाद। मैंने कुछ एपीआई परिवर्तनों से जुड़े कुछ काम किए जिन्हें मैं बाकी से अलग करना चाहता था, और मैंने इसे प्रतिबिंबित करने के लिए लॉग संदेश लिखा ... ... गलती से पूरी तरह से करने से पहले। मैंने एक लॉग संदेश के साथ एक सफेद स्थान परिवर्तन करके इसे "निश्चित" किया जो बाकी समझाया! अगली बार, मुझे पता चलेगा कि क्या करना है। –

+1

मैंने इसे एक +1 भी दिया, लेकिन फिर यह एक संदेश के साथ काम नहीं करता "रेपॉजिटरी को संशोधन प्रोन्नेंज स्वीकार करने के लिए सक्षम नहीं किया गया है; व्यवस्थापक से प्री-रेप्रप्रॉप-चेंज हुक बनाने के लिए कहें"। क्या प्रशासक स्वचालित रूप से जानता है कि क्या किया जाना है? –

+19

क्या आप * मुझे * पूछ रहे हैं यदि आपके पास एक सक्षम सबवर्जन व्यवस्थापक है? :) – JesperE

57

आप निश्चित रूप से लॉग संदेशों को पीछे से बदल सकते हैं, इसमें in the FAQ शामिल है। मुझे यकीन है कि कैसे VisualSVN के लिए कमांड लाइन इंटरफेस काम करता है नहीं कर रहा हूँ, लेकिन आदेश SVN वेनिला के लिए

svn propset -r N --revprop svn:log "new log message" URL 

होगा आप भंडार और फिर से लोड हो रहा है डंपिंग के बिना सभी संशोधन के लिए ऐसा करना चाहते हैं, तो आप स्क्रिप्ट कर सकता यह आदेश सभी संशोधनों की सूची पर काम करने के लिए। आपके भंडार के आकार के आधार पर ऐसा करने में कुछ समय लगेगा, लेकिन सिद्धांत रूप में ऐसा कोई कारण नहीं है कि आप इसे नहीं कर सकते हैं, और इसमें डंप और पुनः लोड शामिल नहीं है।

इसके अलावा, वेनिला एसवीएन के पास svnlook कमांड है जो एक व्यवस्थापकीय उपकरण है जो सीधे भंडार फ़ाइलों के साथ काम करता है। वह टूल यूआरएल को समझ में नहीं आता है (आपके पास रिपॉजिटरी में फाइल सिस्टम-स्तर की पहुंच होनी चाहिए), लेकिन अधिक तेज है। वाक्यविन्यास थोड़ा अलग है, लेकिन आप उस उपकरण का उपयोग करके उसी तरह गुणों को संशोधित कर सकते हैं।

+2

यदि आप अपने संपादक का उपयोग करना चाहते हैं: 'svn propedit -r N svn: log'। –

+3

धन्यवाद @ kazark, मुझे अपने संपादक में संदेश बदलने में सक्षम होने के लिए '' 'svn propedit -r N --revprop svn: log''' करना था। – tutuDajuju

+2

बस एक नोट जोड़ने के लिए: डिफ़ॉल्ट रूप से, वह आदेश काम नहीं करेगा, क्योंकि ** संशोधन गुणों में परिवर्तन ** डिफ़ॉल्ट रूप से अनुमति नहीं है। इसे अनुमति देने के लिए, svn व्यवस्थापक को ** "प्री-रेप्रप्रॉप-चेंज" ** नामक एक हुक बनाना होगा। यह जानकारी [एफएक्यू में] [http://subversion.apache.org/faq.html#change-log-msg) जैसा ऊपर बताया गया है। विंडोज़ पर –

24

हां, आप कर सकते हैं, लेकिन आपको पहले इसे भंडार पर सक्षम करने की आवश्यकता है।

भंडार में, हुक निर्देशिका में, पूर्व-revprop-change.tmpl नामक एक फ़ाइल है। इसे टिप्पणियों के कुछ पेज मिलते हैं जो यह करता है, और केवल लॉग गुणों में परिवर्तन की अनुमति देने के लिए सेट अप किया जाता है। इसे सक्षम करने के लिए, फ़ाइल को प्री-रेप्रप्रॉप-चेंज करने के लिए नाम बदलें और इसे निष्पादन योग्य बनाएं (यदि आप होस्ट करने के लिए विंडोज का उपयोग कर रहे हैं, तो मैं एक पॉज़िक्स-होस्टेड सबवर्जन मान रहा हूं, आपको this message उपयोगी मिल सकता है)।

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

+0

+1 उत्कृष्ट जानकारी महोदय। यह मुझे पूर्व-सुधार-परिवर्तन हुक के बिना ऐसा करने नहीं देगा। मुझे टेम्पलेट बैश स्क्रिप्ट को विंडोज़ पर पोर्ट करना होगा, लेकिन यह कोई समस्या नहीं होनी चाहिए। –

+0

मैंने एक उदाहरण कमांड स्क्रिप्ट के लिए एक लिंक जोड़ा: http://svn.haxx.se/users/archive-2006-03/0107.shtml –

1

क्लाइंट के लिए टोर्टोइस एसवीएन और विंडोज सर्वर पर विजुअल एसवीएन का उपयोग करके, सटीक समस्या के साथ इस पोस्ट में बस आया।

आप एक के लिए होते हैं तो "एक डीएवी अनुरोध विफल" अपने भंडार हुक उपनिर्देशिका में त्रुटि संदेश, Andrew Aylett's answer पर एक नज़र "पूर्व revprop-change.tmpl" देने के लिए और संपादित जाना।

प्रासंगिक मेनू में "लॉग संदेश संपादित करें" मारने के बाद यह अंततः काम करना चाहिए!

2

svn propedit -r N --revprop svn:log URL

URL ऊपर वैकल्पिक यदि आप एक काम कर निर्देशिका में पहले से ही कर रहे हैं है। तब एक संपादक दिखाई देगा ताकि संदेश बदला जा सके।

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