2010-10-04 10 views
5

मर्क्युरियल में पैच बनाने की प्रक्रिया के साथ एक नया पैच में अप्रतिबद्ध परिवर्तन जोड़ा जा रहा है इस प्रकार है (असामान्य) परिवर्तन और मैं उन्हें कतार में जोड़ना चाहता हूं?मर्क्युरियल कतारों

उत्तर

3

यह आपके संस्करण पर निर्भर करता है, और ऐसा लगता है कि यह 1.5.1 में बदल गया है।

1.5.1 या बाद में

आदेश डिफ़ॉल्ट

qnew वर्तमान में लागू पैच (यदि कोई हो) के शीर्ष पर एक नया पैच बनाता द्वारा किसी भी अप्रतिबद्ध परिवर्तन जोड़ देगा। पैच को निर्देशिका में किसी भी उत्कृष्ट परिवर्तन के साथ प्रारंभ किया जाएगा।

पहले 1.5.1 से

आप qnew -f उपयोग करना चाहते हैं। docs से:

-f: कार्यशील निर्देशिका की सामग्री संशोधित होने पर एक नया पैच बनाएं। किसी भी उत्कृष्ट संशोधन को नए बनाए गए पैच में जोड़ा जाता है, इसलिए इस आदेश को पूरा करने के बाद, कार्यशील निर्देशिका अब संशोधित नहीं की जाएगी।

+0

धन्यवाद, मुझे मैन पेज को अधिक ध्यान से पढ़ने की आवश्यकता है – Casebash

+3

ऐसा लगता है कि 'hg qnew -f' अब समर्थित नहीं है (मेरे पास 1.6.4 है)। यह सुनिश्चित नहीं है कि इसे कब गिरा दिया गया था। लेकिन अच्छी खबर यह है कि 'पैच को कार्यशील निर्देशिका में किसी भी उत्कृष्ट परिवर्तन के साथ शुरू किया जाएगा' ('एचजी सहायता qnew' से)। –

0

दरअसल, पैच प्रक्रिया वही काम करती है चाहे असामान्य परिवर्तन हों या नहीं। मैं हमेशा निम्नानुसार करता हूं:

[... make changes ...] 

hg qnew -m "foo bar changes" foobar.patch 
--> new empty patch at top of queue 
hg qrefresh 
--> this adds all diffs from 'hg diff' into the current top patch 

संपादित करें: @CaseBash ने सही ढंग से इंगित किया है कि मैं वर्तमान डिफ़ॉल्ट व्यवहार के बारे में गलत हूं!

+1

मेरे संस्करण में, यह कहता है "पैच को कामकाजी निर्देशिका में किसी भी उत्कृष्ट बदलाव के साथ शुरू किया जाएगा" - खाली पैच – Casebash

+0

आप सही नहीं हैं! मैं इसे गलत समझ के तहत इस्तेमाल कर रहा हूं! – leoger

संबंधित मुद्दे