2010-04-24 16 views
5

मैं उपयोग किए जाने वाले सॉफ़्टवेयर के एक टुकड़े की वेनिला स्थापना में किए गए परिवर्तनों को कैप्चर करने के लिए Mercurial का उपयोग करना चाहता हूं। हर बार जब हम सॉफ़्टवेयर को अपग्रेड करते हैं, तो हमें विभिन्न कॉन्फ़िगरेशन फ़ाइलों को मैन्युअल रूप से संपादित करने और तृतीय पक्ष पुस्तकालयों को जोड़ने की आवश्यकता होती है जिन्हें हम सॉफ़्टवेयर के वर्तमान संस्करण में उपयोग करते हैं। कॉन्फ़िगरेशन फ़ाइलों के परिवर्तनों के लिए पैच बनाना ठीक है, लेकिन मैं तृतीय पक्ष पुस्तकालयों (बाइनरी) को Mercurial पैच में कैसे जोड़ूं? क्या यह भी संभव है?मैं Mercurial पैच में पूर्ण बाइनरी कैसे जोड़ सकता हूं?

+0

कृपया सहायक उत्तरों वोट दें और सबसे अच्छा लगने वाला स्वीकार करने के लिए याद है। –

उत्तर

1

भले ही यह संभव हो, यह सलाह नहीं दी जाती है! (Mercurial या किसी अन्य वीसीएस के लिए)
एक संस्करण नियंत्रण प्रणाली द्विआधारी रिकॉर्ड करने के लिए नहीं बनाई गई है (मुख्य रूप से क्योंकि यह जल्दी से अनुपात से बाहर निकलती है, डिस्क की बहुत सारी जगह लेती है, और डेल्टा में संग्रहीत करने का कोई प्रभावी तरीका नहीं है)

आपको कॉन्फ़िगरेशन रिकॉर्ड करना चाहिए जो आपके द्वारा टैग किए जाने वाले प्रत्येक संस्करण की आवश्यकता है।
उदाहरण के लिए यह एक टेक्स्ट फ़ाइल हो सकती है, या maven pom हो सकती है। कुछ भी जो बाहरी तंत्र (जैसे मैवेन) को डाउनलोड करने और स्थानीय रूप से सही निर्भरताओं को आपके लिए स्टोर करने की अनुमति देता है।

इसका मतलब है कि आपके पैच में उस टेक्स्ट फ़ाइल में परिवर्तन (उदाहरण के लिए पोम), साथ ही शेष कोड संशोधन शामिल होंगे।

+0

पता चला यह संभव है (एचजी क्यूफ्रेश के बाद एचजी एड का उपयोग करके), लेकिन मैं आपके अंक बोर्ड VonC पर लेता हूं। मैं अपनी स्थिति को संभालने के लिए बस एक पीओएम और नेक्सस स्थापित कर सकता हूं। पारितोषिक के लिए धन्यवाद –

2

हां, एमक एक्सटेंशन बाइनरी डेटा को साथ ही पाठ डेटा को संभाल सकता है। बाइनरी डेटा को बचाने के लिए यह Git's extended patch format का उपयोग करेगा। संशोधित बाइनरी फ़ाइलों के साथ पैच रीफ्रेश करते समय यह आपके लिए पारदर्शी रूप से संभाला जाता है।

चाहे यह एक अच्छा विचार है या नहीं, एक और सवाल है - वोनसी सही है जब वह लिखता है कि यह संस्करण नियंत्रण प्रणाली के लिए सामान्य उपयोग केस नहीं है।

4

आप 7 वीं संशोधन के लिए पैच प्राप्त करने की कोशिश करना हो तो ...

hg export --git -r 7 -o 7.patch 
संबंधित मुद्दे