क्या डेटाबेस से पुराने परिवर्तनों को हटाने के लिए Mercurial में कोई तरीका है? मेरे पास एक भंडार है जो 60 जीबी है और यह क्लोन करने के लिए बहुत दर्दनाक बनाता है। मैं एक निश्चित तारीख से पहले सब कुछ ट्रिम करना चाहता हूं और भारी डेटाबेस को धूल इकट्ठा करने के लिए दूर रखना चाहता हूं।Mercurial इतिहास हटाएं
उत्तर
आप इसे कर सकते हैं, लेकिन ऐसा करने में आप सभी क्लोन को अमान्य कर देते हैं, इसलिए आम तौर पर ऐसा करने के लिए बुद्धिमान नहीं है जब तक आप पूरी तरह से अकेले काम नहीं कर रहे हों।
Mercurial में प्रत्येक परिवर्तन विशिष्ट रूप से हैशकोड द्वारा पहचाना जाता है, जो स्रोत कोड में परिवर्तन, मेटाडेटा और उसके एक या दो माता-पिता के हैंश का संयोजन होता है। उन माता-पिता को परियोजना की शुरुआत में सभी तरह से रेपो में मौजूद होना चाहिए। (उस प्रतिबंध में उथले-क्लोन नहीं होंगे, जो उपलब्ध नहीं हैं (अभी तक))।
यदि आप नए बदलावों के हैंश को बदलने के साथ ठीक हैं (जो फिर जंगली में सभी क्लोन को तोड़ देता है) तो आप आदेशों के साथ ऐसा कर सकते हैं;
hg export -o 'changeset-%R.patch' 400:tip # changesets 400 through the end for example
cd /elsewhere
hg init newrepo
cd newrepo
hg import /path/to/the/patches/*.patch
आप शायद changesets विलय को संभालने के लिए एक छोटे से काम करने के लिए होगा, लेकिन है कि आम विचार है।
कोई भी hg convert
का उपयोग कर hg
के साथ स्रोत और गंतव्य प्रकार दोनों के रूप में और splicemap
दोनों का उपयोग करके ऐसा कर सकता है, लेकिन यह शायद अभी तक अधिक शामिल है।
बड़ा सवाल यह है कि आप 60 जीबी स्रोत कोड कैसे टाइप करते हैं, या आप सभी सलाह के खिलाफ जेनरेट की गई फाइलें जोड़ रहे थे। :)
मेरे (हटाए गए) उत्तर से अधिक विस्तृत प्रतिक्रिया। +1 – VonC
मैं एक अन्य स्रोत नियंत्रण प्रणाली से आयात कर रहा हूं एक परियोजना जिसमें उत्पन्न बाइनरी शामिल हैं। हम अभी स्रोत नियंत्रण से बाहर डीएल प्राप्त करने की कोशिश कर रहे हैं। सहायता के लिए धन्यवाद! –
उत्तर में एक टाइपो है। फ़ाइल नाम में लोअरकेस% आर (शून्य-गद्देदार संख्याएं) होनी चाहिए अन्यथा फ़ाइलों को सही क्रम में संसाधित नहीं किया जाएगा जब आप उन्हें आयात करते हैं। – Gili
इसे सीधे मौजूदा भंडार में करने का कोई आसान/अनुशंसित तरीका नहीं है।
आप फिर भी एक नया तेज रेपो करने के लिए अपने तेज रेपो "कन्वर्ट" और जहां convert.hg.startrev विकल्प
hg convert --config convert.hg.startrev=1234 <source-repository> <new-repository-name>
नई रेपो सब कुछ शामिल होंगे के माध्यम से बाद के इतिहास को शामिल करने से एक संशोधन चयन कर सकते हैं प्रारंभिक संशोधन से पहले मूल रेपो शून्य से इतिहास।
चेतावनी: नए रेपो में पूरी तरह से नए बदलाव आईडी होंगे, यानी यह मूल रेपो से संबंधित नहीं है। नया रेपो बनाने के बाद प्रत्येक डेवलपर को नए रेपो को क्लोन करना होगा और मूल रेपो से अपने क्लोन को हटाना होगा।
मैंने इसे हमारी कंपनी के भीतर आंतरिक रूप से उपयोग किए जाने वाले पुराने रिपोज़ को साफ़ करने के लिए उपयोग किया - अनचाहे फ़ाइलों को हटाने के लिए --filemap विकल्प के साथ संयुक्त।
तो यह समाधान .hg/subdirectory को हटाने और hg करने से अलग कैसे है इस में? – grzaks
क्षमा करें, मुझे आपकी टिप्पणी समझ में नहीं आ रही है। स्थानीय .hg dir और hg init को रिपोजिटरी से परिवर्तनों को हटाने के साथ क्या करना है? –
@Gaks, आपका दृष्टिकोण संपूर्ण भंडार को नष्ट कर देता है और एक नया बनाता है, Gerd का दृष्टिकोण चुनिंदा रूप से एक निश्चित संशोधन से भंडार को नष्ट कर देता है। दोनों परिस्थितियां आपकी परिस्थितियों के आधार पर उपयोगी हैं। Gerd का दृष्टिकोण अभी मेरे लिए उपयोगी है क्योंकि मैं एक निजी भंडार सार्वजनिक करने वाला हूं और पिछले महीने के संशोधन को रखना चाहता हूं, लेकिन इससे पहले कुछ भी नहीं। – lsh
- 1. पुनरीक्षण इतिहास हटाएं
- 2. Mercurial
- 3. सभी गिट कमिट इतिहास हटाएं
- 4. Mercurial: एक borked इतिहास को ठीक करें
- 5. एसवीएन इतिहास से फ़ाइल सामग्री हटाएं
- 6. Mercurial: दूरस्थ शाखा से परिवर्तन हटाएं
- 7. Mercurial फ़ाइल के लिए संशोधन इतिहास कैसे देखें?
- 8. Mercurial में, मैं फ़ाइल के इतिहास को कैसे देखूं?
- 9. Mercurial: एक फ़ाइल और उसके इतिहास को अन्य रिपॉजिटरी
- 10. Mercurial
- 11. एंड्रॉइड वेब व्यू इतिहास से एक विशेष यूआरएल हटाएं/मिटाएं?
- 12. perforce इतिहास से एक सबमिट किए गए चेंजलिस्ट को हटाएं
- 13. गिट पूरे इतिहास से सभी हटाए गए फ़ाइलों को हटाएं
- 14. जीवाश्म इतिहास से एक बाइनरी फ़ाइल को कैसे हटाएं
- 15. गिट svn क्लोन: संशोधन इतिहास लाने के लिए कैसे हटाएं
- 16. जिथब में सभी प्रतिबद्ध इतिहास को कैसे हटाएं?
- 17. svn भंडार से सभी इतिहास के साथ फ़ाइल हटाएं
- 18. Mercurial
- 19. Mercurial से TFS
- 20. Mercurial Commit चार्ट/ग्राफ
- 21. विजुअल सोर्सएफ़ से Mercurial
- 22. क्लीयरकेस से Mercurial
- 23. कृपया Mercurial
- 24. Mercurial Queues: पैच संयोजन
- 25. Mercurial
- 26. Mercurial
- 27. Mercurial
- 28. Mercurial
- 29. Mercurial
- 30. Mercurial
कौन सी फाइलें बड़ी हैं? – tonfa
यह उस बड़े से कैसे शुरू हुआ? – Santa
यदि जेक में कोई बाइनरी फाइलें हैं (जो कभी-कभी जरूरी होती हैं ... सभी बाइनरी फाइल स्रोत द्वारा उत्पन्न नहीं होती हैं), तो उस फ़ाइल में प्रत्येक छोटे बदलाव के परिणामस्वरूप रेपो में बनाई गई एक नई प्रतिलिपि होती है। फ़ाइल के आकार या परिवर्तन की आवृत्ति के आधार पर, 60 जीबी की तरह कुछ ऐसा नहीं लग सकता है। – bobpaul