Default hg merge action missing from "merge with local" dialog
Created originally on Bitbucket by SteveKaye (Steve Kaye)
I have specified some merge-patterns and merge-tools in my repository's hgrc file (attached) which causes certain files to always be resolved using an interactive (instead of automatic) merge.
If I execute hg merge from the command line to merge two heads of a branch then kdiff3 is launched to allow me to manually merge any changes made to these files even though they could be automatically merged. Files not matching the patterns are automatically merged as expected.
If I use tortoisehg's "Merge with local" command I am given the option to automatically resolve merge conflicts or not:
-
If I choose not to automatically resolve the conflicts then the merge command is executed with the --tool=internal:fail and I have to use the resolve tool to merge all the files - even those that I have not marked to interactively merge.
-
If I choose to automatically resolve the conflicts then the merge command is executed with --tool=internal:merge which ignores the merge-patterns setting and automatically resolves the conflicts where it can.
There doesn't seem to be the option to execute the merge with no --tool parameter to use the default hg behaviour.
The workaround that I am currently using is to enable the fetch extension and to select it as the post pull action. This seems to execute the merge without specifying a tool and merges as though I'd executed hg merge from the command line.
I think that this checkbox should actually be changed to a control which allows three options, the third being the command line's default behaviour which is to not use the --tool parameter.
Attachments: hgrc