merge.conflictstyle::
	Specify the style in which conflicted hunks are written out to
	working tree files upon merge.  The default is "merge", which
	shows a `<<<<<<<` conflict marker, changes made by one side,
	a `=======` marker, changes made by the other side, and then
	a `>>>>>>>` marker.  An alternate style, "diff3", adds a `|||||||`
	marker and the original text before the `=======` marker.

merge.log::
	Whether to include summaries of merged commits in newly created
	merge commit messages. False by default.

merge.renameLimit::
	The number of files to consider when performing rename detection
	during a merge; if not specified, defaults to the value of
	diff.renameLimit.

merge.stat::
	Whether to print the diffstat between ORIG_HEAD and the merge result
	at the end of the merge.  True by default.

merge.tool::
	Controls which merge resolution program is used by
	linkgit:git-mergetool[1].  Valid built-in values are: "kdiff3",
	"tkdiff", "meld", "xxdiff", "emerge", "vimdiff", "gvimdiff", and
	"opendiff".  Any other value is treated is custom merge tool
	and there must be a corresponding mergetool.<tool>.cmd option.

merge.verbosity::
	Controls the amount of output shown by the recursive merge
	strategy.  Level 0 outputs nothing except a final error
	message if conflicts were detected. Level 1 outputs only
	conflicts, 2 outputs conflicts and file changes.  Level 5 and
	above outputs debugging information.  The default is level 2.
	Can be overridden by the 'GIT_MERGE_VERBOSITY' environment variable.

merge.<driver>.name::
	Defines a human-readable name for a custom low-level
	merge driver.  See linkgit:gitattributes[5] for details.

merge.<driver>.driver::
	Defines the command that implements a custom low-level
	merge driver.  See linkgit:gitattributes[5] for details.

merge.<driver>.recursive::
	Names a low-level merge driver to be used when
	performing an internal merge between common ancestors.
	See linkgit:gitattributes[5] for details.
