मैंने हाल ही में svn से गिट करने के लिए एक भंडार माइग्रेट किया। जब मैं लॉग को देखता हूं, तो एसवीएन से सभी काम 50/72 प्रारूप में ठीक से स्वरूपित नहीं होते हैं। क्या कोई तरीका है कि मैं हर प्रतिबद्ध संदेश के माध्यम से जा सकता हूं और इसे संपादित कर सकता हूं ताकि यह गिट प्रारूप के अनुरूप हो?स्वरूपण संदेश
उत्तर
आप एक टिप्पणी में कहा:
भंडार एक सप्ताह पहले से अधिक चले गए और पहले से ही किया गया था पर यह Git में की गई करता है।
इस प्रकार, सबसे अच्छा विकल्प बस इसके साथ रहना और अब से सही प्रतिबद्ध संदेश बनाना जारी रखना है।
उन सभी विधियों जो उन पुराने कामों में प्रतिबद्ध संदेशों को बदल देंगे बदलते हैं और अलग-अलग आईडी के साथ पूरी तरह से नई वस्तुएं बनाते हैं। जैसा कि पहले से ही काम कर रहे सभी लोगों की रिपोजिटरी टूट जाएगी, उन्हें रिपोजिटरी की नई, पुनर्लेखित स्थिति में मैन्युअल रूप से रीसेट करने की आवश्यकता होगी।
यह एक पुराने सिस्टम से माइग्रेट किए गए एक गैर-परिपूर्ण प्रतिबद्ध संदेश के साथ काम करने के मामूली मामले के लिए आवश्यक से अधिक काम (और भ्रम!) में समाप्त होता है। मुझे लगता है कि कुछ पुराने इतिहास होने के पहले दिन से पहले यह बिल्कुल ठीक है, जो वर्तमान मानकों में पूरी तरह से फिट नहीं है। यदि आप बाद में अपने कोड स्वरूपण नियमों को बदलने का निर्णय लेते हैं तो आप सभी कामों को फिर से लिख नहीं पाएंगे।
आपके पास एक बिंदु है। मैं अकेले इतिहास छोड़ दूंगा। – EnactSchmenact
एक विकल्प गिट में आयात करने से पहले svn में अपने काम को संपादित करना है। svnadmin dump
का उपयोग करें, संग्रह के मानव-संपादन योग्य संस्करण को उत्पन्न करें, वहां प्रतिबद्ध संदेश संपादित करें (यदि यह मैं था, तो मैं इसे करने के लिए एक पायथन लिपि लिखूंगा), और फिर svnadmin load
भंडार एक हफ्ते पहले माइग्रेट किया गया था और गिट में पहले से ही इस पर काम करता है। क्या मुझे रिपो को फिर से माइग्रेट करना होगा और फिर उन्हें किसी भी तरह मर्ज करना होगा? – EnactSchmenact
सबवर्जन डंपफाइल "मानव संपादन योग्य" नहीं हैं। प्रत्येक संशोधन में चेकसम IIRC होता है और यदि आप कच्ची फ़ाइल को संपादित करने का प्रयास करते हैं, तो आप फ़ाइल को तोड़ने को समाप्त कर देंगे। 'svnadmin setlog' एक भंडार में लॉग संदेशों को बदलने के लिए उपयोग करने के लिए उपयुक्त उपकरण है (कोई डंपफाइल आवश्यक नहीं है)। – alroc
सेटलॉग के बारे में अच्छा बिंदु। वैसे भी यह मूक है। –
के साथ रिपोजिटरी का पुनर्निर्माण करें git filter-branch
की आवश्यकता है। यह man page बहुत स्पष्ट है।
--msg-filter
विकल्प का उपयोग करें जो एक शेल कमांड की अपेक्षा करता है जो stdin
पर मूल संदेश प्राप्त करेगा और stdout
पर संशोधित संदेश आउटपुट करना चाहिए। एक स्क्रिप्ट बनाना जो आपके संदेश प्रारूप को ठीक करेगा एक अलग प्रश्न =) है।
यदि आप उन्हें हाथ से ठीक करने जा रहे थे, तो बस git rebase -i --root
करें, reword
पर कार्रवाई सेट करें। यह पूरे प्रतिबद्धता इतिहास के माध्यम से आपके पाठ संपादक को प्रत्येक प्रतिबद्धता के लिए खोलने और आपको प्रतिबद्ध संदेश बदलने की अनुमति देगा।
ऐ; इस बारे में सोचना चाहिए था। इसे करने का यही तरीका है। –
- 1. स्वरूपण ट्रेस आउटपुट
- 2. jsoncpp स्वरूपण समस्या
- 3. सशर्त स्वरूपण
- 4. StyleCop स्वरूपण
- 5. उस्तरा स्वरूपण
- 6. तिथि स्वरूपण
- 7. कोडेलाइट स्वरूपण
- 8. एक्सटेंसिबल स्वरूपण?
- 9. डेटटाइम स्वरूपण
- 10. संदेश संदेश भेजें पूर्व संदेश संदेश
- 11. व्यक्तिगत कॉलम स्वरूपण
- 12. विकी स्टाइल टेक्स्ट स्वरूपण
- 13. स्वरूपण सेकंड और मिनट
- 14. perltidy स्वरूपण जटिल अगर
- 15. ऑब्जेक्टिव-सी स्ट्रिंग स्वरूपण
- 16. प्लेसहोल्डर टेक्स्ट स्वरूपण
- 17. स्फिंक्स फ़्लोटिंग पॉइंट स्वरूपण
- 18. केंडो टेम्पलेट सशर्त स्वरूपण
- 19. स्ट्रिंग अजगर में स्वरूपण
- 20. microsoft.interop.excel स्वरूपण कक्ष
- 21. गेम सेंटर स्वरूपण समय
- 22. सशर्त स्वरूपण नियम जोड़ें
- 23. स्ट्रिंग स्वरूपण Eval
- 24. संपत्ति ग्रिड संख्या स्वरूपण
- 25. Nuget और web.config स्वरूपण
- 26. PHP दिनांक स्वरूपण
- 27. mustache.js दिनांक स्वरूपण
- 28. आउटलुक सी # कोड स्वरूपण?
- 29. printf और स्वरूपण नियम
- 30. JSON डंप कस्टम स्वरूपण
इसके बारे में चिंता न करें। बस नए प्रतिबद्ध संदेशों के लिए आगे बढ़ें और इसे ठीक से करें। स्रोत नियंत्रण आपके वर्कफ़्लो का समर्थन करना चाहिए, इसे कठिन नहीं बनाते। हां, प्रतिबद्ध संदेश सही रूप से स्वरूपित नहीं हैं। लेकिन क्या वास्तव में इतनी बड़ी समस्या है? – Abizern
बस _having_ प्रतिबद्ध संदेशों से आप वक्र से आगे हैं। "Svn से माइग्रेट किए गए संदेश" के साथ केवल एक विशाल प्रतिबद्धता को देखना आम बात है – gcbenison
[उन लोगों के लिए जो नहीं जानते कि "50/72 प्रारूप" क्या है (http://stackoverflow.com/q/2290016/1324345) – alroc