Currently, `git rev-parse` covers a wide range of functionality not directly related to parsing revisions, as its name suggests. Over time, many features like parsing datestrings, options, paths, and others were added to it because there wasn't a more appropriate command to place them. Create a new Git command called `repo`. `git repo` will be the main command for obtaining the information about a repository (such as metadata and metrics). Also declare a subcommand for `repo` called `info`. `git repo info` will bring the functionality of retrieving repository-related information currently returned by `rev-parse`. Add the required documentation and build changes to enable usage of this subcommand. Helped-by: Phillip Wood <phillip.wood@dunelm.org.uk> Helped-by: Junio C Hamano <gitster@pobox.com> Helped-by: Justin Tobler <jltobler@gmail.com> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Mentored-by: Karthik Nayak <karthik.188@gmail.com> Mentored-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Lucas Seiki Oshiro <lucasseikioshiro@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
246 lines
13 KiB
Plaintext
246 lines
13 KiB
Plaintext
# 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-backfill mainporcelain history
|
|
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-pairs 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-refs ancillarymanipulators complete
|
|
git-remote ancillarymanipulators complete
|
|
git-repack ancillarymanipulators complete
|
|
git-replace ancillarymanipulators complete
|
|
git-replay plumbingmanipulators
|
|
git-repo plumbinginterrogators
|
|
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
|