How to get mercurial to emit base revision of conflicted file as well as modified version?

前端 未结 4 1585
轮回少年
轮回少年 2021-01-13 19:58

I\'m trying to merge two branches together using mercurial and there are some conflicts. When working in Subversion, merge conflicts would result in the conflicted file bein

4条回答
  •  Happy的楠姐
    2021-01-13 20:47

    You can set the HGMERGE environment variable.

    Mercurial will usually attempt to merge the files using a simple merge algorithm first, to see if they can be merged without conflicts. Only if there are conflicting changes will hg actually execute the merge program.

    You can set this to some GUI merge tool etc.

    There are other options like internal:fail, internal:local, or internal:other

    In hgrc:

    [ui]
    merge = your-merge-program
    
    [merge-tools]
    kdiff3.args = $base $local $other -o $output
    

    So you should be able to specify merge program's arguments with all your needs. Probably, you can adopt this technique for Eclipse to be fired up.

    • https://www.mercurial-scm.org/wiki/MergingManuallyInEditor

    To make merge fail immediately on conflict, try

    export HGMERGE=false
    

    In fact, if you want to know the conflict in advance, you could use the "preview" option for hg merge

    -P --preview  review revisions to merge (no merge is performed)
    

提交回复
热议问题