# Command classification list
# ---------------------------
# All supported commands, builtin or external, must be described in
# here. This info is used to list commands in various places. Each
# command is on one line followed by one or more attributes.
#
# The first attribute group is mandatory and indicates the command
# type. This group includes:
#
#   mainporcelain
#   ancillarymanipulators
#   ancillaryinterrogators
#   foreignscminterface
#   plumbingmanipulators
#   plumbinginterrogators
#   synchingrepositories
#   synchelpers
#   purehelpers
#
# The type names are self explanatory. But if you want to see what
# command belongs to what group to get a better picture, have a look
# at "git" man page, "GIT COMMANDS" section.
#
# Commands of type mainporcelain can also optionally have one of these
# attributes:
#
#   init
#   worktree
#   info
#   history
#   remote
#
# These commands are considered "common" and will show up in "git
# help" output in groups. Uncommon porcelain commands must not
# specify any of these attributes.
#
# "complete" attribute is used to mark that the command should be
# completable by git-completion.bash. Note that by default,
# mainporcelain commands are completable so you don't need this
# attribute.
#
# As part of the Git man page list, the man(5/7) guides are also
# specified here, which can only have "guide" attribute and nothing
# else.
#
# User-facing repository, command and file interfaces such as
# documentation for the .gitmodules, .mailmap etc. files lives in man
# sections 5 and 7. These entries can only have the "userinterfaces"
# attribute and nothing else.
#
# Git's file formats and protocols, such as documentation for the
# *.bundle format lives in man section 5. These entries can only have
# the "developerinterfaces" attribute and nothing else.
#
### command list (do not change this line)
# command name                          category [category] [category]
git-add                                 mainporcelain           worktree
git-am                                  mainporcelain
git-annotate                            ancillaryinterrogators
git-apply                               plumbingmanipulators            complete
git-archimport                          foreignscminterface
git-archive                             mainporcelain
git-bisect                              mainporcelain           info
git-blame                               ancillaryinterrogators          complete
git-branch                              mainporcelain           history
git-bugreport                           ancillaryinterrogators
git-bundle                              mainporcelain
git-cat-file                            plumbinginterrogators
git-check-attr                          purehelpers
git-check-ignore                        purehelpers
git-check-mailmap                       purehelpers
git-check-ref-format                    purehelpers
git-checkout                            mainporcelain
git-checkout-index                      plumbingmanipulators
git-cherry                              plumbinginterrogators          complete
git-cherry-pick                         mainporcelain
git-citool                              mainporcelain
git-clean                               mainporcelain
git-clone                               mainporcelain           init
git-column                              purehelpers
git-commit                              mainporcelain           history
git-commit-graph                        plumbingmanipulators
git-commit-tree                         plumbingmanipulators
git-config                              ancillarymanipulators           complete
git-count-objects                       ancillaryinterrogators
git-credential                          purehelpers
git-credential-cache                    purehelpers
git-credential-store                    purehelpers
git-cvsexportcommit                     foreignscminterface
git-cvsimport                           foreignscminterface
git-cvsserver                           foreignscminterface
git-daemon                              synchingrepositories
git-describe                            mainporcelain
git-diagnose                            ancillaryinterrogators
git-diff                                mainporcelain           info
git-diff-files                          plumbinginterrogators
git-diff-index                          plumbinginterrogators
git-diff-tree                           plumbinginterrogators
git-difftool                            ancillaryinterrogators          complete
git-fast-export                         ancillarymanipulators
git-fast-import                         ancillarymanipulators
git-fetch                               mainporcelain           remote
git-fetch-pack                          synchingrepositories
git-filter-branch                       ancillarymanipulators
git-fmt-merge-msg                       purehelpers
git-for-each-ref                        plumbinginterrogators
git-for-each-repo                       plumbinginterrogators
git-format-patch                        mainporcelain
git-fsck                                ancillaryinterrogators          complete
git-gc                                  mainporcelain
git-get-tar-commit-id                   plumbinginterrogators
git-grep                                mainporcelain           info
git-gui                                 mainporcelain
git-hash-object                         plumbingmanipulators
git-help                                ancillaryinterrogators          complete
git-hook                                purehelpers
git-http-backend                        synchingrepositories
git-http-fetch                          synchelpers
git-http-push                           synchelpers
git-imap-send                           foreignscminterface
git-index-pack                          plumbingmanipulators
git-init                                mainporcelain           init
git-instaweb                            ancillaryinterrogators          complete
git-interpret-trailers                  purehelpers
git-log                                 mainporcelain           info
git-ls-files                            plumbinginterrogators
git-ls-remote                           plumbinginterrogators
git-ls-tree                             plumbinginterrogators
git-mailinfo                            purehelpers
git-mailsplit                           purehelpers
git-maintenance                         mainporcelain
git-merge                               mainporcelain           history
git-merge-base                          plumbinginterrogators
git-merge-file                          plumbingmanipulators
git-merge-index                         plumbingmanipulators
git-merge-one-file                      purehelpers
git-merge-tree                          ancillaryinterrogators
git-mergetool                           ancillarymanipulators           complete
git-mktag                               plumbingmanipulators
git-mktree                              plumbingmanipulators
git-multi-pack-index                    plumbingmanipulators
git-mv                                  mainporcelain           worktree
git-name-rev                            plumbinginterrogators
git-notes                               mainporcelain
git-p4                                  foreignscminterface
git-pack-objects                        plumbingmanipulators
git-pack-redundant                      plumbinginterrogators
git-pack-refs                           ancillarymanipulators
git-patch-id                            purehelpers
git-prune                               ancillarymanipulators   complete
git-prune-packed                        plumbingmanipulators
git-pull                                mainporcelain           remote
git-push                                mainporcelain           remote
git-quiltimport                         foreignscminterface
git-range-diff                          mainporcelain
git-read-tree                           plumbingmanipulators
git-rebase                              mainporcelain           history
git-receive-pack                        synchelpers
git-reflog                              ancillarymanipulators           complete
git-remote                              ancillarymanipulators           complete
git-repack                              ancillarymanipulators           complete
git-replace                             ancillarymanipulators           complete
git-replay                              plumbingmanipulators
git-request-pull                        foreignscminterface             complete
git-rerere                              ancillaryinterrogators
git-reset                               mainporcelain           history
git-restore                             mainporcelain           worktree
git-rev-list                            plumbinginterrogators
git-rev-parse                           plumbinginterrogators
git-revert                              mainporcelain
git-rm                                  mainporcelain           worktree
git-send-email                          foreignscminterface             complete
git-send-pack                           synchingrepositories
git-sh-i18n                             purehelpers
git-sh-setup                            purehelpers
git-shell                               synchelpers
git-shortlog                            mainporcelain
git-show                                mainporcelain           info
git-show-branch                         ancillaryinterrogators          complete
git-show-index                          plumbinginterrogators
git-show-ref                            plumbinginterrogators
git-sparse-checkout                     mainporcelain
git-stage                                                               complete
git-stash                               mainporcelain
git-status                              mainporcelain           info
git-stripspace                          purehelpers
git-submodule                           mainporcelain
git-svn                                 foreignscminterface
git-switch                              mainporcelain           history
git-symbolic-ref                        plumbingmanipulators
git-tag                                 mainporcelain           history
git-unpack-file                         plumbinginterrogators
git-unpack-objects                      plumbingmanipulators
git-update-index                        plumbingmanipulators
git-update-ref                          plumbingmanipulators
git-update-server-info                  synchingrepositories
git-upload-archive                      synchelpers
git-upload-pack                         synchelpers
git-var                                 plumbinginterrogators
git-verify-commit                       ancillaryinterrogators
git-verify-pack                         plumbinginterrogators
git-verify-tag                          ancillaryinterrogators
git-version                             ancillaryinterrogators
git-whatchanged                         ancillaryinterrogators          complete
git-worktree                            mainporcelain
git-write-tree                          plumbingmanipulators
gitattributes                           userinterfaces
gitcli                                  userinterfaces
gitcore-tutorial                        guide
gitcredentials                          guide
gitcvs-migration                        guide
gitdiffcore                             guide
giteveryday                             guide
gitfaq                                  guide
gitformat-bundle                        developerinterfaces
gitformat-chunk                         developerinterfaces
gitformat-commit-graph                  developerinterfaces
gitformat-index                         developerinterfaces
gitformat-pack                          developerinterfaces
gitformat-signature                     developerinterfaces
gitglossary                             guide
githooks                                userinterfaces
gitignore                               userinterfaces
gitk                                    mainporcelain
gitmailmap                              userinterfaces
gitmodules                              userinterfaces
gitnamespaces                           guide
gitprotocol-capabilities                developerinterfaces
gitprotocol-common                      developerinterfaces
gitprotocol-http                        developerinterfaces
gitprotocol-pack                        developerinterfaces
gitprotocol-v2                          developerinterfaces
gitremote-helpers                       guide
gitrepository-layout                    userinterfaces
gitrevisions                            userinterfaces
gitsubmodules                           guide
gittutorial                             guide
gittutorial-2                           guide
gitweb                                  ancillaryinterrogators
gitworkflows                            guide
scalar                                  mainporcelain
