stash.useBuiltin::
	Unused configuration variable.  Used in Git versions 2.22 to
	2.26 as an escape hatch to enable the legacy shellscript
	implementation of stash.  Now the built-in rewrite of it in C
	is always used. Setting this will emit a warning, to alert any
	remaining users that setting this now does nothing.

stash.showIncludeUntracked::
	If this is set to true, the `git stash show` command will show
	the untracked files of a stash entry.  Defaults to false. See
	description of 'show' command in linkgit:git-stash[1].

stash.showPatch::
	If this is set to true, the `git stash show` command without an
	option will show the stash entry in patch form.  Defaults to false.
	See description of 'show' command in linkgit:git-stash[1].

stash.showStat::
	If this is set to true, the `git stash show` command without an
	option will show diffstat of the stash entry.  Defaults to true.
	See description of 'show' command in linkgit:git-stash[1].
