मर्कुरियल हेल्प टेक्स्ट कहता है, "स्ट्रिप कमांड निर्दिष्ट परिवर्तनों और उनके सभी वंशजों को हटा देता है।" यह मेरे लिए इतिहास को फिर से लिखने जैसा बहुत लगता है, और अगर किसी ने किसी ऐसे बदलाव पर अपना काम किया है जिसे अचानक हटा दिया गया है तो उसे समस्याएं पैदा करनी होंगी। लेकिन सहायता पाठ यह भी कहता है कि आदेश "इतिहास-पुनर्लेखन संचालन नहीं है और सार्वजनिक चरण में परिवर्तनों पर उपयोग किया जा सकता है।" मुझे यकीन है कि जिस व्यक्ति ने सहायता पाठ लिखा था वह जानता था कि वह क्या कर रहा था, तो मुझे यह समझने में क्या याद आ रही है?Mercurial के स्ट्रिप कमांड इतिहास को फिर से लिखना क्यों नहीं करता है?
उत्तर
मैं निश्चय के साथ यह नहीं कह सकता, लेकिन मेरा अनुमान है कि यह "में grandfathered" रहा है। hg strip
mq
जो कम से कम तीन साल से चरणों के अलावा पहले का है के भाग के रूप में बाहर शुरू कर दिया।
संभावना बेहतर शब्दों होगा:
* माना * एक इतिहास-पुनर्लेखन आपरेशन नहीं है और जनता के चरण
में changesets पर इस्तेमाल किया जा सकता जब चरणों की एक बड़ी राशि शामिल नहीं किया गया किसी के मौजूदा वर्कफ़्लो को तोड़ने के लिए देखभाल नहीं की गई थी। मसौदा चरण में बाहर शुरू करने और सार्वजनिक एक बार धक्का दिया बन करता है। किसी भी चरण-जागरूक आदेशों को पता है कि प्रतिबद्धता चरण को धक्का देने के बाद सार्वजनिक है और संशोधन की अनुमति न देने के लिए (जब तक पुश एक गैर-प्रकाशन भंडार के लिए नहीं था ...)।
हालांकि, लोग पहले से ही strip
का उपयोग कर रहे थे और स्क्रिप्ट में धक्का दिए गए परिवर्तनों को हटाने के लिए स्क्रिप्ट में थे, और यदि strip
ने अपग्रेड के बाद अचानक कहा था, "अरे, आप इसे सार्वजनिक नहीं कर सकते!" तो उन लोगों को उनके पिछड़े-संगतता वादे को तोड़ दिया होता।
के चरण धीरे-धीरे एक बहुत अद्भुत evolve प्रणाली है कि लगभग सभी मामलों के लिए MQ की तुलना में काफी बेहतर विकल्प हो जाएगा में बढ़ रहा है, लेकिन मैं अभी भी शक है कि हम कभी मिल जाएगा मैट MQ और पट्टी को हटाने के लिए - वह अभी भी बनाए रखने पर जोर एक पायथन 2.4 संगत कोडबेस और वह 9 साल का है!
टीएल; डॉ: भले ही strip
हमेशा एक अक्षम एक्सटेंशन था, बहुत से लोग इसे अपने व्यवहार को बदलने/चरणों के आगमन को बदलने के लिए उपयोग करते हैं।
प्रमुख मुद्दा यह है कि अगर आप एक सार्वजनिक changeset पट्टी, और फिर कहीं से इसे फिर से खींच, आप किसी भी मुद्दे की वजह से नहीं किया है। आप बस मूल परिवर्तन वापस प्राप्त करें।
यदि आप (उदाहरण के लिए) दो सार्वजनिक परिवर्तनों को एक साथ पतन करते हैं, और फिर मूल को कहीं से खींचते हैं, तो अब आपके पास दो शाखाएं हैं। एक मूल दो परिवर्तनों के साथ, और एक संक्षिप्त परिवर्तन के साथ, लेकिन दोनों में एक ही बदलाव है। उस समय नरक टूट जाता है और बच्चे खाने वाले राक्षस पृथ्वी पर घूमते हैं।
इसलिए 'इतिहास पुनः लिखना' इतिहास इतिहास अलग नहीं है।
davidmc24 मैट मैकाल (मर्क्युरियल के पिता), जिसमें वे कहते हैं मूल रूप से एक ही बात
मुझे राक्षस खाने वाले बच्चे से प्यार है। –
- 1. ओस्ट्रिंगस्ट्रीम स्ट्रिप न्यूल क्यों करता है?
- 2. मॉड फिर से लिखना समस्या
- 3. जीएलआईबी फिर से परिभाषित क्यों करता है?
- 4. एनजीआईएनएक्स हैशबैंग फिर से लिखना
- 5. Mercurial में, "एचजी नाम बदलें" काम करता है लेकिन इतिहास फ़ाइल का पालन नहीं करता है?
- 6. Mercurial इतिहास हटाएं
- 7. Mercurial कमांड
- 8. गिट इतिहास से फ़ाइल को हटाने से काम नहीं करता
- 9. Mercurial: एक borked इतिहास को ठीक करें
- 10. "आयात मॉड्यूल" और फिर "पैकेज आयात मॉड्यूल से" मॉड्यूल को फिर से लोड क्यों करता है?
- 11. सी ++ कोड को फिर से लिखना कैसे है जो डी में परिवर्तनीय उपयोग करता है?
- 12. सरल विलय से छुटकारा पाने के लिए स्वचालित गिट इतिहास को स्वचालित रूप से फिर से लिखना
- 13. apache विशिष्ट पृष्ठों के लिए नियमों को फिर से लिखना
- 14. कॉम्प्लेक्स nginx सबडोमेन के लिए नियमों को फिर से लिखना
- 15. कहां है: कमांड इतिहास संग्रहीत?
- 16. विम: कमांड को फिर से परिभाषित करें
- 17. कमांड लाइन इतिहास
- 18. पर्सिस्टेंट पायथन कमांड लाइन इतिहास
- 19. रीफ्रेश किए बिना यूआरएल को फिर से लिखना, जैसे GitHub.com
- 20. मेरी गिट भंडार Mercurial संस्करण से इतना बड़ा क्यों है?
- 21. कई डेवलपर्स के साथ Mercurial कैसे काम करता है?
- 22. Mercurial में, मैं फ़ाइल के इतिहास को कैसे देखूं?
- 23. php fwrite() फ़ाइल को स्ट्रिंग डेटा लिखना समाप्त नहीं करता है, क्यों?
- 24. जेबॉस सर्वर पर एक यूआरएल को फिर से लिखना कैसे?
- 25. पुराने गिट को छोड़कर इतिहास से काम करता है?
- 26. कमांड 'टाइमआउट' स्कैला के साथ काम नहीं करता - क्यों?
- 27. htaccess सामान्य पैटर्न के बिना यूआरएल पर फिर से लिखना
- 28. गिट: क्या एचजी स्ट्रिप के बराबर है?
- 29. इसमें एक सर्वर को% 23 के साथ फिर से लिखना कैसे है?
- 30. अपाचे पैरामीटर के साथ नियम फिर से लिखना?
धन्यवाद Ry4an द्वारा this post बताया। मैं सुधार और स्पष्टीकरण की सराहना करता हूं। –
क्या इसका मतलब यह है कि 'स्ट्रिप' चेंजसेट _remove_ नहीं करता है, लेकिन सिर्फ _hides_? मैं प्रकाशन से पहले विकास से 100% _remove_ मामूली काम करने के लिए एक रास्ता तलाश रहा था।यह सुरक्षित और एक बहुत ही महत्वपूर्ण विशेषता है, क्योंकि एक डेवलपर के रूप में आपको स्थानीय काम करना चाहिए (यह एक डीवीसीएस के फायदे में से एक है, है ना?), और मास्टर में "एक प्रतिबद्ध प्रति फीचर" परिवर्तन को मर्ज करें शाखा (इस प्रकार सभी मास्टर शाखाएं दिखती हैं, उदाहरण के लिए पाइथन, स्फिंक्स ect।)। क्या कोई तरीका है कि मैं "चरण" का उपयोग कर Mercurial के साथ स्पष्ट तरीके से प्राप्त कर सकता हूं? – Iodnas
स्ट्रिप ** ** उन्हें हटा देता है। मेरा मुद्दा यह था कि यह चरण प्रणाली की सीमाओं के बाहर इतना करता है क्योंकि यह 3 साल तक इसकी भविष्यवाणी करता है। –