पैच एक साधारण और बहुमुखी समाधान हैं।
परिवर्तनों के बड़े समूहों (विशेष रूप से बाइनरी परिवर्तन और विलय) के चारों ओर जाने के लिए, Mercurial बाइनरी बंडल प्रदान करता है। एक बंडल मूल रूप से बाइनरी सामान होता है जो नेटवर्क पर भेजा जाता है जब आप hg push
करते हैं, लेकिन यहां इसे फ़ाइल में कैप्चर किया जाता है।
आइए कल्पना करें कि मुझे किसी भी तरह क्लोन मिला है (फ्लैश ड्राइव, डीवीडी, आदि द्वारा)। इसे अपस्ट्रीम
पर कॉल करें। मैं फिर दूसरा क्लोन बना देता हूं, इसे devel
कहता हूं। मैं अपने सभी विकास devel
में करता हूं और बहुत सारे काम करता हूं, विलय करता हूं, आदि। Mercurial वितरित होने के बाद से मैं यह सब ऑफ़लाइन कर सकता हूं।
यह देखने के लिए कि अपस्ट्रीम
में कौन से परिवर्तन गुम हैं
% hg outgoing ../upstream
जब मेरे पास भेजने के लिए कुछ है, तो मैं इसका उपयोग कर सकता हूं
% hg bundle changes.hg ../upstream
एक बाइनरी संपीड़ित फ़ाइल प्राप्त करने के लिए जिसमें उनके सभी मेटा डेटा समेत परिवर्तन शामिल हैं। मैं फिर इस फाइल को एक सीडी पर जला सकता हूं और इसे मेल द्वारा भेज सकता हूं ...
बंडल के प्राप्तकर्ता कर सकते हैं
% hg incoming changes.hg
परिवर्तन सूची देखने के लिए और
% hg pull changes.hg
अनपॅक करने और अपने भंडार में परिवर्तन जोड़ने के लिए। उसके बाद उसे सबसे अधिक विलय करना होगा - यह बिल्कुल वैसा ही है जैसे उसने सीधे आपके भंडार से HTTP या SSH पर खींच लिया था।
नोट, अपस्ट्रीम
रिपोजिटरी को केवल यह याद रखने के लिए एक सुविधाजनक तरीका के रूप में उपयोग किया जाता है कि अपस्ट्रीम रिपॉजिटरी में कौन से बदलाव पहले ही पाए गए हैं। बेस (सामान्य) परिवर्तन निर्दिष्ट करने के लिए बंडल करते समय आप बस परिवर्तन आईडी को भी कम कर सकते हैं और hg bundle --base
का उपयोग कर सकते हैं। hg help bundle
या विकी में देखें देखें।