2012-06-19 15 views
8

मेरे पास एक मास्टर रेपो है, जिसमें कुछ बदलाव हैं जो मैं नहीं करना चाहता हूं।मैं केवल subrepo के परिवर्तन कैसे कर सकता हूं?

मेरे पास एक सब्रेपो है, जिसमें बदल गया है जो पहले से ही प्रतिबद्ध है।

मैं मास्टर रेपो में फ़ाइलों में परिवर्तन किए बिना, मेरे मास्टर रेपो में परिवर्तन subrepo संशोधन करना चाहता हूं।

मुझे ऐसा नहीं लगता है। मैं .hgsubstate नहीं कर सकता, और एक फ़ाइल में एक छोटा बदलाव कर सकता हूं जो मास्टर रेपो में सबरेपो परिवर्तन नहीं करता है।

+0

यदि आपकी संशोधित फ़ाइलों को 'foo' और' bar' नाम दिया गया है, तो क्या आपने 'hg ci -S -X foo -X bar' करने का प्रयास किया है? – Helgi

उत्तर

9

उपरोक्त के नाम को प्रतिबद्ध करने के लिए पास करें और Mercurial .hgsubstate अपडेट करेगा और इसे प्रतिबद्ध करेगा।

[email protected]:~$ hg init main 
[email protected]:~$ cd main 
[email protected]:~/main$ hg init sub 
[email protected]:~/main$ echo sub = sub > .hgsub 
[email protected]:~/main$ hg add .hgsub 
[email protected]:~/main$ hg commit 
[email protected]:~/main$ cd sub 
[email protected]:~/main/sub$ echo text > afile 
[email protected]:~/main/sub$ hg commit -Am first-in-sub 
adding afile 
[email protected]:~/main/sub$ cd .. 
[email protected]:~/main$ hg status 
[email protected]:~/main$ echo text > dont-commit-me 
[email protected]:~/main$ hg add dont-commit-me 
[email protected]:~/main$ hg status 
A dont-commit-me 
[email protected]:~/main$ cat .hgsubstate 
0000000000000000000000000000000000000000 sub 
[email protected]:~/main$ hg commit -m 'subrepo only' sub 
[email protected]:~/main$ hg status 
A dont-commit-me 
[email protected]:~/main$ cat .hgsubstate 
dec5eaa9e22cd0a05cbba3ba02fdb0e1f243e07e sub 

ध्यान दें कि मुख्य dont-commit-me में फ़ाइल कभी नहीं प्रतिबद्ध कर ली, लेकिन .hgsubstate अपडेट किया गया।

+0

यह चाल है। मुझे विश्वास नहीं है कि मैंने कोशिश करने के लिए सोचा नहीं था! –

+0

यह थोड़ा भ्रामक है, क्योंकि 'डॉट-प्रतिबद्ध-मी' वैसे भी नहीं किया गया होगा। यदि इसे जोड़ा गया था, तो 'प्रतिबद्ध' के लिए तर्क एक फर्क पड़ता है। (मैं Ry4an को रोकता हूं, हालांकि, मुझे पता है कि वह एक मर्कुरियल मास्टर है।) – harpo

+0

आप सही हैं, @harpo। मुझे इसे बेहतर उदाहरण के लिए जोड़ना चाहिए था। –

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