Beim Zusammenführen widersprüchlicher Änderungen mit verwendet hg merge
Mercurial eine Reihe von Markierungen in die Dateien, die in meiner Arbeitskopie wie folgt zusammengeführt werden sollen:
<<<<<<< local
version = 0.2
=======
version = 0.1
>>>>>>> other
Dann bearbeite ich manuell alle als U gekennzeichneten Dateien aus einer von erstellten Liste hg resolve --all -l
und sage mercurial, dass ich sie durch aufgelöst habehg resolve -m file1 file2 file3 ...
In vielen Situationen möchte ich jedoch entweder meine oder nur ihre Änderungen an einigen widersprüchlichen Dateien akzeptieren. Ich denke darüber nach, zwei einfache sed / awk / welche Skripte auch immer zu erstellen accept-theirs.sh
und accept-my.sh
oder gibt es eine "richtige" Möglichkeit, dies zu tun?
hg help merge-tools
(mergetools ist ein Alias in letzteren Versionen)[alias] mine = resolve -t internal:local theirs = resolve -t internal:other
.hgrc
, die für die Neulinge hinzugefügt werden müssen:[alias]
dannmine = resolve -t internal:local
, danntheirs = resolve -t internal:other
. Danach können Siehg mine some_file.py
oderhg theirs -a
(für alle)--re-merge
Flagge (z. B.hg resolve -t internal:other --re-merge --all
)Versuche dies:
Siehe auch
hg help merge-tools
für weitere Informationen.quelle
resolve
für einzelne Dateien / Wiederherstellen. (Auch die Anführungszeicheninternal:other
sind unnötig.)