Making --detect or --list mandatory sounds weird though. --list should be default but doesn't it duplicate 'bzr config bzr.mergetools' ?
Or rather 'bzr config *mergetool*' to also get default_mergetool.
And then... why not use bzr.mergetools.default and forbid 'default' as a valid merge tool name in your other proposal ?
It would be nice to mention that --detect *also* set the mergetools in the the config (which one ?).
Which one is the default in that case ? None ?
If that's the case, this means the user must specify which merge tool he want to use no ?
Since you're providing access to pre-defined merge tools as soon as you have detected them, why not go a step further and make this '--detect' step optional and provides the default command-line for, say kdiff3, if the user try to use --resolve-using kdiff3 ?
This is far clearer.
Making --detect or --list mandatory sounds weird though. --list should be default but doesn't it duplicate 'bzr config bzr.mergetools' ?
Or rather 'bzr config *mergetool*' to also get default_mergetool.
And then... why not use bzr.mergetools. default and forbid 'default' as a valid merge tool name in your other proposal ?
It would be nice to mention that --detect *also* set the mergetools in the the config (which one ?).
Which one is the default in that case ? None ?
If that's the case, this means the user must specify which merge tool he want to use no ?
Since you're providing access to pre-defined merge tools as soon as you have detected them, why not go a step further and make this '--detect' step optional and provides the default command-line for, say kdiff3, if the user try to use --resolve-using kdiff3 ?