जैसा कि मार्क ने सुझाव दिया है, MqExtension आपकी समस्या का एक समाधान है। IMHO एक सरल वर्कफ़्लो है रिबास एक्सटेंशन का उपयोग करने के लिए । मान लीजिए कि आपका इतिहास इस तरह है:
@ changeset: 2:81b92083cb1d
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 1:8bdc4508ac7b
| summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
इसका मतलब है, संशोधन 0वह आधार है जिस पर आपने अपनी सुविधा पर काम करना शुरू किया था। अब आप 1-2एक नामित शाखा पर संशोधन करना चाहते हैं , आइए बताते हैं my-feature। संशोधन 0और उस शाखा को बनाने के लिए अपडेट करें :
$ hg up 0
$ hg branch my-feature
$ hg ci -m "start new branch my-feature"
इतिहास अब इस तरह दिखता है:
@ changeset: 3:b5939750b911
| branch: my-feature
| tag: tip
| parent: 0:d554afd54164
| summary: start new branch my-feature
|
| o changeset: 2:81b92083cb1d
| | summary: my new feature: edit file a
| |
| o changeset: 1:8bdc4508ac7b
|/ summary: my new feature: add file b
|
o changeset: 0:d554afd54164
summary: initial
rebaseसंशोधन 1-2पर संशोधन के लिए आदेश का उपयोग करें 3:
$ hg rebase -s 1 -d 3
यह निम्नलिखित ग्राफ में परिणाम देता है:
@ changeset: 3:88a90f9bbde7
| branch: my-feature
| tag: tip
| summary: my new feature: edit file a
|
o changeset: 2:38f5adf2cf4b
| branch: my-feature
| summary: my new feature: add file b
|
o changeset: 1:b5939750b911
| branch: my-feature
| summary: start new branch my-feature
|
o changeset: 0:d554afd54164
summary: initial
यह ऐसा है .. जैसा कि मार्क के जवाब में टिप्पणियों में उल्लेख किया गया है, पहले से ही धकेल दिए गए बदलावों के आसपास घूमना आमतौर पर एक बुरा विचार है, जब तक कि आप एक छोटी टीम में काम नहीं करते हैं जहां आप अपने इतिहास में हेरफेर करने में सक्षम हैं और लागू करते हैं।