Seperti yang dikemukakan oleh Mark, MqExtension adalah salah satu solusi untuk masalah Anda. IMHO alur kerja yang lebih sederhana adalah dengan menggunakan ekstensi rebase . Misalkan Anda memiliki riwayat seperti ini:
@ 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
Artinya, revisi 0
adalah dasar yang Anda gunakan untuk mulai mengerjakan fitur Anda. Sekarang Anda ingin memiliki revisi 1-2
pada cabang bernama, katakanlah my-feature
. Perbarui ke revisi 0
dan buat cabang itu:
$ hg up 0
$ hg branch my-feature
$ hg ci -m "start new branch my-feature"
Sejarahnya sekarang terlihat seperti ini:
@ 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
Gunakan rebase
perintah untuk memindahkan revisi 1-2
ke revisi 3
:
$ hg rebase -s 1 -d 3
Ini menghasilkan grafik berikut:
@ 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
Itu saja .. seperti yang disebutkan dalam komentar untuk jawaban Mark, memindahkan kumpulan perubahan yang sudah didorong umumnya adalah ide yang buruk, kecuali Anda bekerja dalam tim kecil di mana Anda dapat berkomunikasi dan memaksakan manipulasi riwayat Anda.