Ao mesclar alterações conflitantes usando hg merge
, o Mercurial insere um conjunto de marcadores nos arquivos a serem mesclados em minha cópia de trabalho, como este:
<<<<<<< local
version = 0.2
=======
version = 0.1
>>>>>>> other
Em seguida, edito manualmente todos os arquivos marcados como U de uma lista produzida por hg resolve --all -l
e digo ao mercurial que os resolvi porhg resolve -m file1 file2 file3 ...
Em muitas situações, gostaria, no entanto, de aceitar as alterações apenas meu ou apenas deles em alguns arquivos conflitantes. Estou pensando em criar dois scripts sed / awk / qualquer que seja o nome accept-theirs.sh
e accept-my.sh
ou existe alguma maneira "adequada" de fazer isso?
hg help merge-tools
(mergetools é um apelido nas últimas versões)[alias] mine = resolve -t internal:local theirs = resolve -t internal:other
.hgrc
, para os novatos:[alias]
entãomine = resolve -t internal:local
, entãotheirs = resolve -t internal:other
. Depois disso, você pode usarhg mine some_file.py
ouhg theirs -a
(para todos)--re-merge
bandeira (por exemplohg resolve -t internal:other --re-merge --all
)Experimente isto:
Veja também
hg help merge-tools
para mais informações.fonte
resolve
para arquivos individuais / refazendo. (Além disso, as aspasinternal:other
são desnecessárias.)