Saat menggabungkan perubahan yang bertentangan menggunakan hg merge
, Mercurial menyisipkan satu set penanda ke dalam file untuk digabungkan dalam copy pekerjaan saya seperti ini:
<<<<<<< local
version = 0.2
=======
version = 0.1
>>>>>>> other
Kemudian saya secara manual mengedit semua file yang ditandai sebagai U dari daftar yang dibuat oleh hg resolve --all -l
dan kemudian saya memberi tahu lincah bahwa saya telah menyelesaikannyahg resolve -m file1 file2 file3 ...
Namun dalam banyak situasi, saya ingin menerima perubahan hanya-saya atau satu-satunya pada beberapa file yang bentrok. Saya berpikir untuk membuat dua skrip sed / awk / apapun yang diberi nama accept-theirs.sh
dan accept-my.sh
atau adakah cara yang "tepat" untuk melakukannya?
hg help merge-tools
(mergetools adalah alias di versi terakhir)[alias] mine = resolve -t internal:local theirs = resolve -t internal:other
.hgrc
, untuk pemula:,[alias]
lalumine = resolve -t internal:local
, lalutheirs = resolve -t internal:other
. Setelah itu Anda dapat menggunakanhg mine some_file.py
atauhg theirs -a
(untuk Semua)--re-merge
bendera (misalnyahg resolve -t internal:other --re-merge --all
)Coba ini:
Lihat juga
hg help merge-tools
untuk informasi lebih lanjut.sumber
resolve
untuk satu file / mengulanginya. (Juga, kutipan di sekitarinternal:other
tidak diperlukan.)