/* Automatically generated by generate-cmdlist.sh */
struct cmdname_help {
	const char *name;
	const char *help;
	uint32_t category;
};


/* Command categories */
#define CAT_ancillaryinterrogators (1UL << 0)
#define CAT_ancillarymanipulators (1UL << 1)
#define CAT_complete (1UL << 2)
#define CAT_foreignscminterface (1UL << 3)
#define CAT_guide (1UL << 4)
#define CAT_history (1UL << 5)
#define CAT_info (1UL << 6)
#define CAT_init (1UL << 7)
#define CAT_mainporcelain (1UL << 8)
#define CAT_plumbinginterrogators (1UL << 9)
#define CAT_plumbingmanipulators (1UL << 10)
#define CAT_purehelpers (1UL << 11)
#define CAT_remote (1UL << 12)
#define CAT_synchelpers (1UL << 13)
#define CAT_synchingrepositories (1UL << 14)
#define CAT_worktree (1UL << 15)


/* Category names */
static const char *category_names[] = {
	"ancillaryinterrogators", /* (1UL << 0) */
	"ancillarymanipulators", /* (1UL << 1) */
	"complete", /* (1UL << 2) */
	"foreignscminterface", /* (1UL << 3) */
	"guide", /* (1UL << 4) */
	"history", /* (1UL << 5) */
	"info", /* (1UL << 6) */
	"init", /* (1UL << 7) */
	"mainporcelain", /* (1UL << 8) */
	"plumbinginterrogators", /* (1UL << 9) */
	"plumbingmanipulators", /* (1UL << 10) */
	"purehelpers", /* (1UL << 11) */
	"remote", /* (1UL << 12) */
	"synchelpers", /* (1UL << 13) */
	"synchingrepositories", /* (1UL << 14) */
	"worktree", /* (1UL << 15) */
	NULL
};

static struct cmdname_help command_list[] = {
	{ "git-add", N_("Add file contents to the index"), 0 | CAT_mainporcelain | CAT_worktree },
	{ "git-am", N_("Apply a series of patches from a mailbox"), 0 | CAT_mainporcelain },
	{ "git-annotate", N_("Annotate file lines with commit information"), 0 | CAT_ancillaryinterrogators },
	{ "git-apply", N_("Apply a patch to files and/or to the index"), 0 | CAT_complete | CAT_plumbingmanipulators },
	{ "git-archimport", N_("Import a GNU Arch repository into Git"), 0 | CAT_foreignscminterface },
	{ "git-archive", N_("Create an archive of files from a named tree"), 0 | CAT_mainporcelain },
	{ "git-bisect", N_("Use binary search to find the commit that introduced a bug"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-blame", N_("Show what revision and author last modified each line of a file"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-branch", N_("List, create, or delete branches"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-bundle", N_("Move objects and refs by archive"), 0 | CAT_mainporcelain },
	{ "git-cat-file", N_("Provide content or type and size information for repository objects"), 0 | CAT_plumbinginterrogators },
	{ "git-check-attr", N_("Display gitattributes information"), 0 | CAT_purehelpers },
	{ "git-check-ignore", N_("Debug gitignore / exclude files"), 0 | CAT_purehelpers },
	{ "git-check-mailmap", N_("Show canonical names and email addresses of contacts"), 0 | CAT_purehelpers },
	{ "git-checkout", N_("Switch branches or restore working tree files"), 0 | CAT_mainporcelain },
	{ "git-checkout-index", N_("Copy files from the index to the working tree"), 0 | CAT_plumbingmanipulators },
	{ "git-check-ref-format", N_("Ensures that a reference name is well formed"), 0 | CAT_purehelpers },
	{ "git-cherry", N_("Find commits yet to be applied to upstream"), 0 | CAT_complete | CAT_plumbinginterrogators },
	{ "git-cherry-pick", N_("Apply the changes introduced by some existing commits"), 0 | CAT_mainporcelain },
	{ "git-citool", N_("Graphical alternative to git-commit"), 0 | CAT_mainporcelain },
	{ "git-clean", N_("Remove untracked files from the working tree"), 0 | CAT_mainporcelain },
	{ "git-clone", N_("Clone a repository into a new directory"), 0 | CAT_init | CAT_mainporcelain },
	{ "git-column", N_("Display data in columns"), 0 | CAT_purehelpers },
	{ "git-commit", N_("Record changes to the repository"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-commit-graph", N_("Write and verify Git commit-graph files"), 0 | CAT_plumbingmanipulators },
	{ "git-commit-tree", N_("Create a new commit object"), 0 | CAT_plumbingmanipulators },
	{ "git-config", N_("Get and set repository or global options"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-count-objects", N_("Count unpacked number of objects and their disk consumption"), 0 | CAT_ancillaryinterrogators },
	{ "git-credential", N_("Retrieve and store user credentials"), 0 | CAT_purehelpers },
	{ "git-credential-cache", N_("Helper to temporarily store passwords in memory"), 0 | CAT_purehelpers },
	{ "git-credential-store", N_("Helper to store credentials on disk"), 0 | CAT_purehelpers },
	{ "git-cvsexportcommit", N_("Export a single commit to a CVS checkout"), 0 | CAT_foreignscminterface },
	{ "git-cvsimport", N_("Salvage your data out of another SCM people love to hate"), 0 | CAT_foreignscminterface },
	{ "git-cvsserver", N_("A CVS server emulator for Git"), 0 | CAT_foreignscminterface },
	{ "git-daemon", N_("A really simple server for Git repositories"), 0 | CAT_synchingrepositories },
	{ "git-describe", N_("Give an object a human readable name based on an available ref"), 0 | CAT_mainporcelain },
	{ "git-diff", N_("Show changes between commits, commit and working tree, etc"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-diff-files", N_("Compares files in the working tree and the index"), 0 | CAT_plumbinginterrogators },
	{ "git-diff-index", N_("Compare a tree to the working tree or index"), 0 | CAT_plumbinginterrogators },
	{ "git-diff-tree", N_("Compares the content and mode of blobs found via two tree objects"), 0 | CAT_plumbinginterrogators },
	{ "git-difftool", N_("Show changes using common diff tools"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-fast-export", N_("Git data exporter"), 0 | CAT_ancillarymanipulators },
	{ "git-fast-import", N_("Backend for fast Git data importers"), 0 | CAT_ancillarymanipulators },
	{ "git-fetch", N_("Download objects and refs from another repository"), 0 | CAT_mainporcelain | CAT_remote },
	{ "git-fetch-pack", N_("Receive missing objects from another repository"), 0 | CAT_synchingrepositories },
	{ "git-filter-branch", N_("Rewrite branches"), 0 | CAT_ancillarymanipulators },
	{ "git-fmt-merge-msg", N_("Produce a merge commit message"), 0 | CAT_purehelpers },
	{ "git-for-each-ref", N_("Output information on each ref"), 0 | CAT_plumbinginterrogators },
	{ "git-format-patch", N_("Prepare patches for e-mail submission"), 0 | CAT_mainporcelain },
	{ "git-fsck", N_("Verifies the connectivity and validity of the objects in the database"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-gc", N_("Cleanup unnecessary files and optimize the local repository"), 0 | CAT_mainporcelain },
	{ "git-get-tar-commit-id", N_("Extract commit ID from an archive created using git-archive"), 0 | CAT_plumbinginterrogators },
	{ "git-grep", N_("Print lines matching a pattern"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-gui", N_("A portable graphical interface to Git"), 0 | CAT_mainporcelain },
	{ "git-hash-object", N_("Compute object ID and optionally creates a blob from a file"), 0 | CAT_plumbingmanipulators },
	{ "git-help", N_("Display help information about Git"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-http-backend", N_("Server side implementation of Git over HTTP"), 0 | CAT_synchingrepositories },
	{ "git-http-fetch", N_("Download from a remote Git repository via HTTP"), 0 | CAT_synchelpers },
	{ "git-http-push", N_("Push objects over HTTP/DAV to another repository"), 0 | CAT_synchelpers },
	{ "git-imap-send", N_("Send a collection of patches from stdin to an IMAP folder"), 0 | CAT_foreignscminterface },
	{ "git-index-pack", N_("Build pack index file for an existing packed archive"), 0 | CAT_plumbingmanipulators },
	{ "git-init", N_("Create an empty Git repository or reinitialize an existing one"), 0 | CAT_init | CAT_mainporcelain },
	{ "git-instaweb", N_("Instantly browse your working repository in gitweb"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-interpret-trailers", N_("Add or parse structured information in commit messages"), 0 | CAT_purehelpers },
	{ "gitk", N_("The Git repository browser"), 0 | CAT_mainporcelain },
	{ "git-log", N_("Show commit logs"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-ls-files", N_("Show information about files in the index and the working tree"), 0 | CAT_plumbinginterrogators },
	{ "git-ls-remote", N_("List references in a remote repository"), 0 | CAT_plumbinginterrogators },
	{ "git-ls-tree", N_("List the contents of a tree object"), 0 | CAT_plumbinginterrogators },
	{ "git-mailinfo", N_("Extracts patch and authorship from a single e-mail message"), 0 | CAT_purehelpers },
	{ "git-mailsplit", N_("Simple UNIX mbox splitter program"), 0 | CAT_purehelpers },
	{ "git-merge", N_("Join two or more development histories together"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-merge-base", N_("Find as good common ancestors as possible for a merge"), 0 | CAT_plumbinginterrogators },
	{ "git-merge-file", N_("Run a three-way file merge"), 0 | CAT_plumbingmanipulators },
	{ "git-merge-index", N_("Run a merge for files needing merging"), 0 | CAT_plumbingmanipulators },
	{ "git-merge-one-file", N_("The standard helper program to use with git-merge-index"), 0 | CAT_purehelpers },
	{ "git-mergetool", N_("Run merge conflict resolution tools to resolve merge conflicts"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-merge-tree", N_("Show three-way merge without touching index"), 0 | CAT_ancillaryinterrogators },
	{ "git-multi-pack-index", N_("Write and verify multi-pack-indexes"), 0 | CAT_plumbingmanipulators },
	{ "git-mktag", N_("Creates a tag object"), 0 | CAT_plumbingmanipulators },
	{ "git-mktree", N_("Build a tree-object from ls-tree formatted text"), 0 | CAT_plumbingmanipulators },
	{ "git-mv", N_("Move or rename a file, a directory, or a symlink"), 0 | CAT_mainporcelain | CAT_worktree },
	{ "git-name-rev", N_("Find symbolic names for given revs"), 0 | CAT_plumbinginterrogators },
	{ "git-notes", N_("Add or inspect object notes"), 0 | CAT_mainporcelain },
	{ "git-p4", N_("Import from and submit to Perforce repositories"), 0 | CAT_foreignscminterface },
	{ "git-pack-objects", N_("Create a packed archive of objects"), 0 | CAT_plumbingmanipulators },
	{ "git-pack-redundant", N_("Find redundant pack files"), 0 | CAT_plumbinginterrogators },
	{ "git-pack-refs", N_("Pack heads and tags for efficient repository access"), 0 | CAT_ancillarymanipulators },
	{ "git-parse-remote", N_("Routines to help parsing remote repository access parameters"), 0 | CAT_synchelpers },
	{ "git-patch-id", N_("Compute unique ID for a patch"), 0 | CAT_purehelpers },
	{ "git-prune", N_("Prune all unreachable objects from the object database"), 0 | CAT_ancillarymanipulators },
	{ "git-prune-packed", N_("Remove extra objects that are already in pack files"), 0 | CAT_plumbingmanipulators },
	{ "git-pull", N_("Fetch from and integrate with another repository or a local branch"), 0 | CAT_mainporcelain | CAT_remote },
	{ "git-push", N_("Update remote refs along with associated objects"), 0 | CAT_mainporcelain | CAT_remote },
	{ "git-quiltimport", N_("Applies a quilt patchset onto the current branch"), 0 | CAT_foreignscminterface },
	{ "git-range-diff", N_("Compare two commit ranges (e.g. two versions of a branch)"), 0 | CAT_mainporcelain },
	{ "git-read-tree", N_("Reads tree information into the index"), 0 | CAT_plumbingmanipulators },
	{ "git-rebase", N_("Reapply commits on top of another base tip"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-receive-pack", N_("Receive what is pushed into the repository"), 0 | CAT_synchelpers },
	{ "git-reflog", N_("Manage reflog information"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-remote", N_("Manage set of tracked repositories"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-repack", N_("Pack unpacked objects in a repository"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-replace", N_("Create, list, delete refs to replace objects"), 0 | CAT_ancillarymanipulators | CAT_complete },
	{ "git-request-pull", N_("Generates a summary of pending changes"), 0 | CAT_complete | CAT_foreignscminterface },
	{ "git-rerere", N_("Reuse recorded resolution of conflicted merges"), 0 | CAT_ancillaryinterrogators },
	{ "git-reset", N_("Reset current HEAD to the specified state"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-restore", N_("Restore working tree files"), 0 | CAT_mainporcelain | CAT_worktree },
	{ "git-revert", N_("Revert some existing commits"), 0 | CAT_mainporcelain },
	{ "git-rev-list", N_("Lists commit objects in reverse chronological order"), 0 | CAT_plumbinginterrogators },
	{ "git-rev-parse", N_("Pick out and massage parameters"), 0 | CAT_plumbinginterrogators },
	{ "git-rm", N_("Remove files from the working tree and from the index"), 0 | CAT_mainporcelain | CAT_worktree },
	{ "git-send-email", N_("Send a collection of patches as emails"), 0 | CAT_complete | CAT_foreignscminterface },
	{ "git-send-pack", N_("Push objects over Git protocol to another repository"), 0 | CAT_synchingrepositories },
	{ "git-shell", N_("Restricted login shell for Git-only SSH access"), 0 | CAT_synchelpers },
	{ "git-shortlog", N_("Summarize 'git log' output"), 0 | CAT_mainporcelain },
	{ "git-show", N_("Show various types of objects"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-show-branch", N_("Show branches and their commits"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-show-index", N_("Show packed archive index"), 0 | CAT_plumbinginterrogators },
	{ "git-show-ref", N_("List references in a local repository"), 0 | CAT_plumbinginterrogators },
	{ "git-sh-i18n", N_("Git's i18n setup code for shell scripts"), 0 | CAT_purehelpers },
	{ "git-sh-setup", N_("Common Git shell script setup code"), 0 | CAT_purehelpers },
	{ "git-stash", N_("Stash the changes in a dirty working directory away"), 0 | CAT_mainporcelain },
	{ "git-stage", N_("Add file contents to the staging area"), 0 | CAT_complete },
	{ "git-status", N_("Show the working tree status"), 0 | CAT_info | CAT_mainporcelain },
	{ "git-stripspace", N_("Remove unnecessary whitespace"), 0 | CAT_purehelpers },
	{ "git-submodule", N_("Initialize, update or inspect submodules"), 0 | CAT_mainporcelain },
	{ "git-svn", N_("Bidirectional operation between a Subversion repository and Git"), 0 | CAT_foreignscminterface },
	{ "git-switch", N_("Switch branches"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-symbolic-ref", N_("Read, modify and delete symbolic refs"), 0 | CAT_plumbingmanipulators },
	{ "git-tag", N_("Create, list, delete or verify a tag object signed with GPG"), 0 | CAT_history | CAT_mainporcelain },
	{ "git-unpack-file", N_("Creates a temporary file with a blob's contents"), 0 | CAT_plumbinginterrogators },
	{ "git-unpack-objects", N_("Unpack objects from a packed archive"), 0 | CAT_plumbingmanipulators },
	{ "git-update-index", N_("Register file contents in the working tree to the index"), 0 | CAT_plumbingmanipulators },
	{ "git-update-ref", N_("Update the object name stored in a ref safely"), 0 | CAT_plumbingmanipulators },
	{ "git-update-server-info", N_("Update auxiliary info file to help dumb servers"), 0 | CAT_synchingrepositories },
	{ "git-upload-archive", N_("Send archive back to git-archive"), 0 | CAT_synchelpers },
	{ "git-upload-pack", N_("Send objects packed back to git-fetch-pack"), 0 | CAT_synchelpers },
	{ "git-var", N_("Show a Git logical variable"), 0 | CAT_plumbinginterrogators },
	{ "git-verify-commit", N_("Check the GPG signature of commits"), 0 | CAT_ancillaryinterrogators },
	{ "git-verify-pack", N_("Validate packed Git archive files"), 0 | CAT_plumbinginterrogators },
	{ "git-verify-tag", N_("Check the GPG signature of tags"), 0 | CAT_ancillaryinterrogators },
	{ "gitweb", N_("Git web interface (web frontend to Git repositories)"), 0 | CAT_ancillaryinterrogators },
	{ "git-whatchanged", N_("Show logs with difference each commit introduces"), 0 | CAT_ancillaryinterrogators | CAT_complete },
	{ "git-worktree", N_("Manage multiple working trees"), 0 | CAT_mainporcelain },
	{ "git-write-tree", N_("Create a tree object from the current index"), 0 | CAT_plumbingmanipulators },
	{ "gitattributes", N_("Defining attributes per path"), 0 | CAT_guide },
	{ "gitcli", N_("Git command-line interface and conventions"), 0 | CAT_guide },
	{ "gitcore-tutorial", N_("A Git core tutorial for developers"), 0 | CAT_guide },
	{ "gitcvs-migration", N_("Git for CVS users"), 0 | CAT_guide },
	{ "gitdiffcore", N_("Tweaking diff output"), 0 | CAT_guide },
	{ "giteveryday", N_("A useful minimum set of commands for Everyday Git"), 0 | CAT_guide },
	{ "gitglossary", N_("A Git Glossary"), 0 | CAT_guide },
	{ "githooks", N_("Hooks used by Git"), 0 | CAT_guide },
	{ "gitignore", N_("Specifies intentionally untracked files to ignore"), 0 | CAT_guide },
	{ "gitmodules", N_("Defining submodule properties"), 0 | CAT_guide },
	{ "gitnamespaces", N_("Git namespaces"), 0 | CAT_guide },
	{ "gitrepository-layout", N_("Git Repository Layout"), 0 | CAT_guide },
	{ "gitrevisions", N_("Specifying revisions and ranges for Git"), 0 | CAT_guide },
	{ "gittutorial-2", N_("A tutorial introduction to Git: part two"), 0 | CAT_guide },
	{ "gittutorial", N_("A tutorial introduction to Git"), 0 | CAT_guide },
	{ "gitworkflows", N_("An overview of recommended workflows with Git"), 0 | CAT_guide },
};

static const char *config_name_list[] = {
	"add.ignoreErrors",
	"advice.*",
	"alias.*",
	"am.keepcr",
	"am.threeWay",
	"apply.ignoreWhitespace",
	"apply.whitespace",
	"author.email",
	"author.name",
	"blame.blankBoundary",
	"blame.coloring",
	"blame.date",
	"blame.ignoreRevsFile",
	"blame.markIgnoredLines",
	"blame.markUnblamables",
	"blame.showEmail",
	"blame.showRoot",
	"branch.autoSetupMerge",
	"branch.autoSetupRebase",
	"branch.<name>.description",
	"branch.<name>.merge",
	"branch.<name>.mergeOptions",
	"branch.<name>.pushRemote",
	"branch.<name>.rebase",
	"branch.<name>.remote",
	"branch.sort",
	"browser.<tool>.cmd",
	"browser.<tool>.path",
	"checkout.defaultRemote",
	"clean.requireForce",
	"color.advice",
	"color.advice.hint",
	"color.blame.highlightRecent",
	"color.blame.repeatedLines",
	"color.branch",
	"color.branch.<slot>",
	"color.decorate.<slot>",
	"color.diff",
	"color.diff.<slot>",
	"color.grep",
	"color.grep.<slot>",
	"color.interactive",
	"color.interactive.<slot>",
	"color.pager",
	"color.push",
	"color.push.error",
	"color.remote",
	"color.remote.<slot>",
	"color.showBranch",
	"color.status",
	"color.status.<slot>",
	"color.transport",
	"color.transport.rejected",
	"color.ui",
	"column.branch",
	"column.clean",
	"column.status",
	"column.tag",
	"column.ui",
	"commit.cleanup",
	"commit.gpgSign",
	"commit.status",
	"commit.template",
	"committer.email",
	"committer.name",
	"commit.verbose",
	"completion.commands",
	"core.abbrev",
	"core.alternateRefsCommand",
	"core.alternateRefsPrefixes",
	"core.askPass",
	"core.attributesFile",
	"core.autocrlf",
	"core.bare",
	"core.bigFileThreshold",
	"core.checkRoundtripEncoding",
	"core.checkStat",
	"core.commentChar",
	"core.commitGraph",
	"core.compression",
	"core.createObject",
	"core.deltaBaseCacheLimit",
	"core.editor",
	"core.eol",
	"core.excludesFile",
	"core.fileMode",
	"core.filesRefLockTimeout",
	"core.fsmonitor",
	"core.fsyncObjectFiles",
	"core.gitProxy",
	"core.hideDotFiles",
	"core.hooksPath",
	"core.ignoreCase",
	"core.ignoreStat",
	"core.logAllRefUpdates",
	"core.looseCompression",
	"core.multiPackIndex",
	"core.notesRef",
	"core.packedGitLimit",
	"core.packedGitWindowSize",
	"core.packedRefsTimeout",
	"core.pager",
	"core.precomposeUnicode",
	"core.preferSymlinkRefs",
	"core.preloadIndex",
	"core.protectHFS",
	"core.protectNTFS",
	"core.quotePath",
	"core.repositoryFormatVersion",
	"core.safecrlf",
	"core.sharedRepository",
	"core.sparseCheckout",
	"core.splitIndex",
	"core.sshCommand",
	"core.symlinks",
	"core.trustctime",
	"core.unsetenvvars",
	"core.untrackedCache",
	"core.useReplaceRefs",
	"core.warnAmbiguousRefs",
	"core.whitespace",
	"core.worktree",
	"credentialCache.ignoreSIGHUP",
	"credential.helper",
	"credential.<url>.*",
	"credential.useHttpPath",
	"credential.username",
	"diff.algorithm",
	"diff.autoRefreshIndex",
	"diff.colorMoved",
	"diff.colorMovedWS",
	"diff.context",
	"diff.dirstat",
	"diff.<driver>.binary",
	"diff.<driver>.cachetextconv",
	"diff.<driver>.command",
	"diff.<driver>.textconv",
	"diff.<driver>.wordRegex",
	"diff.<driver>.xfuncname",
	"diff.external",
	"diff.guitool",
	"diff.ignoreSubmodules",
	"diff.indentHeuristic",
	"diff.interHunkContext",
	"diff.mnemonicPrefix",
	"diff.noprefix",
	"diff.orderFile",
	"diff.renameLimit",
	"diff.renames",
	"diff.statGraphWidth",
	"diff.submodule",
	"diff.suppressBlankEmpty",
	"diff.tool",
	"difftool.prompt",
	"difftool.<tool>.cmd",
	"difftool.<tool>.path",
	"diff.wordRegex",
	"diff.wsErrorHighlight",
	"fastimport.unpackLimit",
	"fetch.fsck.<msg-id>",
	"fetch.fsckObjects",
	"fetch.fsck.skipList",
	"fetch.negotiationAlgorithm",
	"fetch.output",
	"fetch.prune",
	"fetch.pruneTags",
	"fetch.recurseSubmodules",
	"fetch.showForcedUpdates",
	"fetch.unpackLimit",
	"filter.<driver>.clean",
	"filter.<driver>.smudge",
	"format.attach",
	"format.cc",
	"format.coverLetter",
	"format.from",
	"format.headers",
	"format.notes",
	"format.numbered",
	"format.outputDirectory",
	"format.pretty",
	"format.signature",
	"format.signatureFile",
	"format.signOff",
	"format.subjectPrefix",
	"format.suffix",
	"format.thread",
	"format.to",
	"format.useAutoBase",
	"fsck.<msg-id>",
	"fsck.skipList",
	"gc.aggressiveDepth",
	"gc.aggressiveWindow",
	"gc.auto",
	"gc.autoDetach",
	"gc.autoPackLimit",
	"gc.bigPackThreshold",
	"gc.logExpiry",
	"gc.packRefs",
	"gc.<pattern>.reflogExpire",
	"gc.<pattern>.reflogExpireUnreachable",
	"gc.pruneExpire",
	"gc.reflogExpire",
	"gc.reflogExpireUnreachable",
	"gc.rerereResolved",
	"gc.rerereUnresolved",
	"gc.worktreePruneExpire",
	"gc.writeCommitGraph",
	"gitcvs.allBinary",
	"gitcvs.commitMsgAnnotation",
	"gitcvs.dbDriver",
	"gitcvs.dbName",
	"gitcvs.dbPass",
	"gitcvs.dbTableNamePrefix",
	"gitcvs.dbUser",
	"gitcvs.enabled",
	"gitcvs.logFile",
	"gitcvs.usecrlfattr",
	"gitweb.avatar",
	"gitweb.blame",
	"gitweb.category",
	"gitweb.description",
	"gitweb.grep",
	"gitweb.highlight",
	"gitweb.owner",
	"gitweb.patches",
	"gitweb.pickaxe",
	"gitweb.remote_heads",
	"gitweb.showSizes",
	"gitweb.snapshot",
	"gitweb.url",
	"gpg.format",
	"gpg.<format>.program",
	"gpg.program",
	"grep.column",
	"grep.extendedRegexp",
	"grep.fallbackToNoIndex",
	"grep.lineNumber",
	"grep.patternType",
	"grep.threads",
	"gui.blamehistoryctx",
	"gui.commitMsgWidth",
	"gui.copyBlameThreshold",
	"gui.diffContext",
	"gui.displayUntracked",
	"gui.encoding",
	"gui.fastCopyBlame",
	"gui.matchTrackingBranch",
	"gui.newBranchTemplate",
	"gui.pruneDuringFetch",
	"gui.spellingDictionary",
	"guitool.<name>.argPrompt",
	"guitool.<name>.cmd",
	"guitool.<name>.confirm",
	"guitool.<name>.needsFile",
	"guitool.<name>.noConsole",
	"guitool.<name>.noRescan",
	"guitool.<name>.prompt",
	"guitool.<name>.revPrompt",
	"guitool.<name>.revUnmerged",
	"guitool.<name>.title",
	"gui.trustmtime",
	"help.autoCorrect",
	"help.browser",
	"help.format",
	"help.htmlPath",
	"http.cookieFile",
	"http.delegation",
	"http.emptyAuth",
	"http.extraHeader",
	"http.followRedirects",
	"http.lowSpeedLimit",
	"http.lowSpeedTime",
	"http.maxRequests",
	"http.minSessions",
	"http.noEPSV",
	"http.pinnedpubkey",
	"http.postBuffer",
	"http.proxy",
	"http.proxyAuthMethod",
	"http.saveCookies",
	"http.schannelCheckRevoke",
	"http.schannelUseSSLCAInfo",
	"http.sslBackend",
	"http.sslCAInfo",
	"http.sslCAPath",
	"http.sslCert",
	"http.sslCertPasswordProtected",
	"http.sslCipherList",
	"http.sslKey",
	"http.sslTry",
	"http.sslVerify",
	"http.sslVersion",
	"http.<url>.*",
	"http.userAgent",
	"http.version",
	"i18n.commitEncoding",
	"i18n.logOutputEncoding",
	"imap.authMethod",
	"imap.folder",
	"imap.host",
	"imap.pass",
	"imap.port",
	"imap.preformattedHTML",
	"imap.sslverify",
	"imap.tunnel",
	"imap.user",
	"index.recordEndOfIndexEntries",
	"index.recordOffsetTable",
	"index.threads",
	"index.version",
	"init.templateDir",
	"instaweb.browser",
	"instaweb.httpd",
	"instaweb.local",
	"instaweb.modulePath",
	"instaweb.port",
	"interactive.diffFilter",
	"interactive.singleKey",
	"log.abbrevCommit",
	"log.date",
	"log.decorate",
	"log.follow",
	"log.graphColors",
	"log.mailmap",
	"log.showRoot",
	"log.showSignature",
	"mailinfo.scissors",
	"mailmap.blob",
	"mailmap.file",
	"man.<tool>.cmd",
	"man.<tool>.path",
	"man.viewer",
	"merge.branchdesc",
	"merge.conflictStyle",
	"merge.defaultToUpstream",
	"merge.directoryRenames",
	"merge.<driver>.driver",
	"merge.<driver>.name",
	"merge.<driver>.recursive",
	"merge.ff",
	"merge.guitool",
	"merge.log",
	"merge.renameLimit",
	"merge.renames",
	"merge.renormalize",
	"merge.stat",
	"merge.tool",
	"mergetool.keepBackup",
	"mergetool.keepTemporaries",
	"mergetool.meld.hasOutput",
	"mergetool.prompt",
	"mergetool.<tool>.cmd",
	"mergetool.<tool>.path",
	"mergetool.<tool>.trustExitCode",
	"mergetool.writeToTemp",
	"merge.verbosity",
	"merge.verifySignatures",
	"notes.displayRef",
	"notes.mergeStrategy",
	"notes.<name>.mergeStrategy",
	"notes.rewrite.<command>",
	"notes.rewriteMode",
	"notes.rewriteRef",
	"pack.compression",
	"pack.deltaCacheLimit",
	"pack.deltaCacheSize",
	"pack.depth",
	"pack.indexVersion",
	"pack.island",
	"pack.islandCore",
	"pack.packSizeLimit",
	"pack.threads",
	"pack.useBitmaps",
	"pack.useSparse",
	"pack.window",
	"pack.windowMemory",
	"pack.writeBitmapHashCache",
	"pager.<cmd>",
	"pretty.<name>",
	"protocol.allow",
	"protocol.<name>.allow",
	"protocol.version",
	"pull.ff",
	"pull.octopus",
	"pull.rebase",
	"pull.twohead",
	"push.default",
	"push.followTags",
	"push.gpgSign",
	"push.pushOption",
	"push.recurseSubmodules",
	"rebase.abbreviateCommands",
	"rebase.autoSquash",
	"rebase.autoStash",
	"rebase.instructionFormat",
	"rebase.missingCommitsCheck",
	"rebase.rescheduleFailedExec",
	"rebase.stat",
	"rebase.useBuiltin",
	"receive.advertiseAtomic",
	"receive.advertisePushOptions",
	"receive.autogc",
	"receive.certNonceSeed",
	"receive.certNonceSlop",
	"receive.denyCurrentBranch",
	"receive.denyDeleteCurrent",
	"receive.denyDeletes",
	"receive.denyNonFastForwards",
	"receive.fsck.<msg-id>",
	"receive.fsckObjects",
	"receive.fsck.skipList",
	"receive.hideRefs",
	"receive.keepAlive",
	"receive.maxInputSize",
	"receive.shallowUpdate",
	"receive.unpackLimit",
	"receive.updateServerInfo",
	"remote.<name>.fetch",
	"remote.<name>.mirror",
	"remote.<name>.proxy",
	"remote.<name>.proxyAuthMethod",
	"remote.<name>.prune",
	"remote.<name>.pruneTags",
	"remote.<name>.push",
	"remote.<name>.pushurl",
	"remote.<name>.receivepack",
	"remote.<name>.skipDefaultUpdate",
	"remote.<name>.skipFetchAll",
	"remote.<name>.tagOpt",
	"remote.<name>.uploadpack",
	"remote.<name>.url",
	"remote.<name>.vcs",
	"remote.pushDefault",
	"remotes.<group>",
	"repack.packKeptObjects",
	"repack.useDeltaBaseOffset",
	"repack.useDeltaIslands",
	"repack.writeBitmaps",
	"rerere.autoUpdate",
	"rerere.enabled",
	"reset.quiet",
	"sendemail.aliasesFile",
	"sendemail.aliasFileType",
	"sendemail.annotate",
	"sendemail.bcc",
	"sendemail.cc",
	"sendemail.ccCmd",
	"sendemail.chainReplyTo",
	"sendemail.confirm",
	"sendemail.envelopeSender",
	"sendemail.from",
	"sendemail.identity",
	"sendemail.<identity>.*",
	"sendemail.multiEdit",
	"sendemail.signedoffbycc",
	"sendemail.smtpBatchSize",
	"sendemail.smtpDomain",
	"sendemail.smtpEncryption",
	"sendemail.smtpPass",
	"sendemail.smtpReloginDelay",
	"sendemail.smtpServer",
	"sendemail.smtpServerOption",
	"sendemail.smtpServerPort",
	"sendemail.smtpsslcertpath",
	"sendemail.smtpUser",
	"sendemail.suppresscc",
	"sendemail.suppressFrom",
	"sendemail.thread",
	"sendemail.to",
	"sendemail.tocmd",
	"sendemail.transferEncoding",
	"sendemail.validate",
	"sendemail.xmailer",
	"sequence.editor",
	"showBranch.default",
	"splitIndex.maxPercentChange",
	"splitIndex.sharedIndexExpire",
	"ssh.variant",
	"stash.showPatch",
	"stash.showStat",
	"stash.useBuiltin",
	"status.aheadBehind",
	"status.branch",
	"status.displayCommentPrefix",
	"status.relativePaths",
	"status.renameLimit",
	"status.renames",
	"status.short",
	"status.showStash",
	"status.showUntrackedFiles",
	"status.submoduleSummary",
	"submodule.active",
	"submodule.alternateErrorStrategy",
	"submodule.alternateLocation",
	"submodule.fetchJobs",
	"submodule.<name>.active",
	"submodule.<name>.branch",
	"submodule.<name>.fetchRecurseSubmodules",
	"submodule.<name>.ignore",
	"submodule.<name>.update",
	"submodule.<name>.url",
	"submodule.recurse",
	"tag.forceSignAnnotated",
	"tag.gpgSign",
	"tag.sort",
	"tar.umask",
	"trace2.configParams",
	"trace2.destinationDebug",
	"trace2.eventBrief",
	"trace2.eventNesting",
	"trace2.eventTarget",
	"trace2.normalBrief",
	"trace2.normalTarget",
	"trace2.perfBrief",
	"trace2.perfTarget",
	"transfer.fsckObjects",
	"transfer.hideRefs",
	"transfer.unpackLimit",
	"uploadarchive.allowUnreachable",
	"uploadpack.allowAnySHA1InWant",
	"uploadpack.allowFilter",
	"uploadpack.allowReachableSHA1InWant",
	"uploadpack.allowRefInWant",
	"uploadpack.allowTipSHA1InWant",
	"uploadpack.hideRefs",
	"uploadpack.keepAlive",
	"uploadpack.packObjectsHook",
	"url.<base>.insteadOf",
	"url.<base>.pushInsteadOf",
	"user.email",
	"user.name",
	"user.signingKey",
	"user.useConfigOnly",
	"versionsort.suffix",
	"web.browser",
	"worktree.guessRemote",
	NULL,
};
