Documentation/git.txt: command re-classification

This adds two new classes (pure-helpers and "Interacting with
Others") to the command list in the main manual page.  The
latter class is primarily about foreign SCM interface and is
placed before low-level (plumbing) commands.

Also it promotes a handful commands to mainporcelain category
while demoting some others.

Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Junio C Hamano 2007-01-18 22:32:38 -08:00
parent be93fc088f
commit 89bf207758
3 changed files with 86 additions and 48 deletions

@ -76,7 +76,10 @@ cmds_txt = cmds-ancillaryinterrogators.txt \
cmds-mainporcelain.txt \ cmds-mainporcelain.txt \
cmds-plumbinginterrogators.txt \ cmds-plumbinginterrogators.txt \
cmds-plumbingmanipulators.txt \ cmds-plumbingmanipulators.txt \
cmds-synchingrepositories.txt cmds-synchingrepositories.txt \
cmds-synchelpers.txt \
cmds-purehelpers.txt \
cmds-foreignscminterface.txt
$(cmds_txt): cmd-list.perl $(MAN1_TXT) $(cmds_txt): cmd-list.perl $(MAN1_TXT)
perl ./cmd-list.perl perl ./cmd-list.perl

@ -45,7 +45,10 @@ for my $cat (qw(ancillaryinterrogators
mainporcelain mainporcelain
plumbinginterrogators plumbinginterrogators
plumbingmanipulators plumbingmanipulators
synchingrepositories)) { synchingrepositories
foreignscminterface
purehelpers
synchelpers)) {
my $out = "cmds-$cat.txt"; my $out = "cmds-$cat.txt";
open O, '>', "$out+" or die "Cannot open output file $out+"; open O, '>', "$out+" or die "Cannot open output file $out+";
for (@{$cmds{$cat}}) { for (@{$cmds{$cat}}) {
@ -59,10 +62,10 @@ __DATA__
git-add mainporcelain git-add mainporcelain
git-am mainporcelain git-am mainporcelain
git-annotate ancillaryinterrogators git-annotate ancillaryinterrogators
git-applymbox mainporcelain git-applymbox ancillaryinterrogators
git-applypatch ancillarymanipulators git-applypatch purehelpers
git-apply plumbingmanipulators git-apply plumbingmanipulators
git-archimport ancillarymanipulators git-archimport foreignscminterface
git-archive mainporcelain git-archive mainporcelain
git-bisect mainporcelain git-bisect mainporcelain
git-blame ancillaryinterrogators git-blame ancillaryinterrogators
@ -70,7 +73,7 @@ git-branch mainporcelain
git-cat-file plumbinginterrogators git-cat-file plumbinginterrogators
git-checkout-index plumbingmanipulators git-checkout-index plumbingmanipulators
git-checkout mainporcelain git-checkout mainporcelain
git-check-ref-format ancillaryinterrogators git-check-ref-format purehelpers
git-cherry ancillaryinterrogators git-cherry ancillaryinterrogators
git-cherry-pick mainporcelain git-cherry-pick mainporcelain
git-clean mainporcelain git-clean mainporcelain
@ -79,11 +82,11 @@ git-commit mainporcelain
git-commit-tree plumbingmanipulators git-commit-tree plumbingmanipulators
git-convert-objects ancillarymanipulators git-convert-objects ancillarymanipulators
git-count-objects ancillaryinterrogators git-count-objects ancillaryinterrogators
git-cvsexportcommit ancillarymanipulators git-cvsexportcommit foreignscminterface
git-cvsimport ancillarymanipulators git-cvsimport foreignscminterface
git-cvsserver ancillarymanipulators git-cvsserver foreignscminterface
git-daemon ancillaryinterrogators git-daemon synchingrepositories
git-describe plumbinginterrogators git-describe mainporcelain
git-diff-files plumbinginterrogators git-diff-files plumbinginterrogators
git-diff-index plumbinginterrogators git-diff-index plumbinginterrogators
git-diff mainporcelain git-diff mainporcelain
@ -91,34 +94,34 @@ git-diff-stages plumbinginterrogators
git-diff-tree plumbinginterrogators git-diff-tree plumbinginterrogators
git-fetch mainporcelain git-fetch mainporcelain
git-fetch-pack synchingrepositories git-fetch-pack synchingrepositories
git-fmt-merge-msg ancillaryinterrogators git-fmt-merge-msg purehelpers
git-for-each-ref plumbinginterrogators git-for-each-ref plumbinginterrogators
git-format-patch mainporcelain git-format-patch mainporcelain
git-fsck-objects plumbinginterrogators git-fsck-objects ancillaryinterrogators
git-gc ancillarymanipulators git-gc mainporcelain
git-get-tar-commit-id ancillaryinterrogators git-get-tar-commit-id ancillaryinterrogators
git-grep mainporcelain git-grep mainporcelain
git-hash-object plumbingmanipulators git-hash-object plumbingmanipulators
git-http-fetch synchingrepositories git-http-fetch synchelpers
git-http-push synchingrepositories git-http-push synchelpers
git-imap-send ancillaryinterrogators git-imap-send foreignscminterface
git-index-pack plumbingmanipulators git-index-pack plumbingmanipulators
git-init plumbingmanipulators git-init mainporcelain
git-instaweb ancillaryinterrogators git-instaweb ancillaryinterrogators
gitk mainporcelain gitk mainporcelain
git-local-fetch synchingrepositories git-local-fetch synchingrepositories
git-log mainporcelain git-log mainporcelain
git-lost-found ancillarymanipulators git-lost-found ancillarymanipulators
git-ls-files plumbinginterrogators git-ls-files plumbinginterrogators
git-ls-remote mainporcelain git-ls-remote plumbinginterrogators
git-ls-tree plumbinginterrogators git-ls-tree plumbinginterrogators
git-mailinfo ancillaryinterrogators git-mailinfo purehelpers
git-mailsplit ancillaryinterrogators git-mailsplit purehelpers
git-merge-base plumbinginterrogators git-merge-base plumbinginterrogators
git-merge-file plumbingmanipulators git-merge-file plumbingmanipulators
git-merge-index plumbingmanipulators git-merge-index plumbingmanipulators
git-merge mainporcelain git-merge mainporcelain
git-merge-one-file ancillarymanipulators git-merge-one-file purehelpers
git-merge-tree ancillaryinterrogators git-merge-tree ancillaryinterrogators
git-mktag plumbingmanipulators git-mktag plumbingmanipulators
git-mktree plumbingmanipulators git-mktree plumbingmanipulators
@ -126,24 +129,24 @@ git-mv mainporcelain
git-name-rev plumbinginterrogators git-name-rev plumbinginterrogators
git-pack-objects plumbingmanipulators git-pack-objects plumbingmanipulators
git-pack-redundant plumbinginterrogators git-pack-redundant plumbinginterrogators
git-pack-refs mainporcelain git-pack-refs ancillarymanipulators
git-parse-remote ancillaryinterrogators git-parse-remote synchelpers
git-patch-id ancillaryinterrogators git-patch-id purehelpers
git-peek-remote synchingrepositories git-peek-remote purehelpers
git-prune ancillarymanipulators git-prune ancillarymanipulators
git-prune-packed plumbingmanipulators git-prune-packed plumbingmanipulators
git-pull mainporcelain git-pull mainporcelain
git-push mainporcelain git-push mainporcelain
git-quiltimport ancillarymanipulators git-quiltimport foreignscminterface
git-read-tree plumbingmanipulators git-read-tree plumbingmanipulators
git-rebase mainporcelain git-rebase mainporcelain
git-receive-pack synchingrepositories git-receive-pack synchelpers
git-reflog ancillarymanipulators git-reflog ancillarymanipulators
git-relink ancillarymanipulators git-relink ancillarymanipulators
git-repack mainporcelain git-repack ancillarymanipulators
git-repo-config plumbingmanipulators git-repo-config ancillarymanipulators
git-request-pull ancillaryinterrogators git-request-pull foreignscminterface
git-rerere mainporcelain git-rerere ancillaryinterrogators
git-reset mainporcelain git-reset mainporcelain
git-resolve mainporcelain git-resolve mainporcelain
git-revert mainporcelain git-revert mainporcelain
@ -151,34 +154,33 @@ git-rev-list plumbinginterrogators
git-rev-parse ancillaryinterrogators git-rev-parse ancillaryinterrogators
git-rm mainporcelain git-rm mainporcelain
git-runstatus ancillaryinterrogators git-runstatus ancillaryinterrogators
git-send-email ancillaryinterrogators git-send-email foreignscminterface
git-send-pack synchingrepositories git-send-pack synchingrepositories
git-shell synchingrepositories git-shell synchelpers
git-shortlog mainporcelain git-shortlog mainporcelain
git-show mainporcelain git-show mainporcelain
git-show-branch mainporcelain git-show-branch ancillaryinterrogators
git-show-index plumbinginterrogators git-show-index plumbinginterrogators
git-show-ref plumbinginterrogators git-show-ref plumbinginterrogators
git-sh-setup ancillarymanipulators git-sh-setup purehelpers
git-ssh-fetch synchingrepositories git-ssh-fetch synchingrepositories
git-ssh-upload synchingrepositories git-ssh-upload synchingrepositories
git-status mainporcelain git-status mainporcelain
git-stripspace ancillaryinterrogators git-stripspace purehelpers
git-svn ancillarymanipulators git-svn foreignscminterface
git-svnimport ancillarymanipulators git-svnimport foreignscminterface
git-symbolic-ref ancillaryinterrogators git-symbolic-ref plumbingmanipulators
git-symbolic-ref ancillarymanipulators git-tag mainporcelain
git-tag ancillarymanipulators
git-tar-tree plumbinginterrogators git-tar-tree plumbinginterrogators
git-unpack-file plumbinginterrogators git-unpack-file plumbinginterrogators
git-unpack-objects plumbingmanipulators git-unpack-objects plumbingmanipulators
git-update-index plumbingmanipulators git-update-index plumbingmanipulators
git-update-ref ancillarymanipulators git-update-ref plumbingmanipulators
git-update-server-info synchingrepositories git-update-server-info synchingrepositories
git-upload-archive synchingrepositories git-upload-archive synchelpers
git-upload-pack synchingrepositories git-upload-pack synchelpers
git-var plumbinginterrogators git-var plumbinginterrogators
git-verify-pack plumbinginterrogators git-verify-pack plumbinginterrogators
git-verify-tag mainporcelain git-verify-tag ancillaryinterrogators
git-whatchanged mainporcelain git-whatchanged ancillaryinterrogators
git-write-tree plumbingmanipulators git-write-tree plumbingmanipulators

@ -93,6 +93,16 @@ Interrogators:
include::cmds-ancillaryinterrogators.txt[] include::cmds-ancillaryinterrogators.txt[]
Interacting with Others
~~~~~~~~~~~~~~~~~~~~~~~
These commands are to interact with foreign SCM and with other
people via patch over e-mail.
include::cmds-foreignscminterface.txt[]
Low-level commands (plumbing) Low-level commands (plumbing)
----------------------------- -----------------------------
@ -102,11 +112,20 @@ development of alternative porcelains. Developers of such porcelains
might start by reading about gitlink:git-update-index[1] and might start by reading about gitlink:git-update-index[1] and
gitlink:git-read-tree[1]. gitlink:git-read-tree[1].
We divide the low-level commands into commands that manipulate objects (in The interface (input, output, set of options and the semantics)
to these low-level commands are meant to be a lot more stable
than Porcelain level commands, because these commands are
primarily for scripted use. The interface to Porcelain commands
on the other hand are subject to change in order to improve the
end user experience.
The following description divides
the low-level commands into commands that manipulate objects (in
the repository, index, and working tree), commands that interrogate and the repository, index, and working tree), commands that interrogate and
compare objects, and commands that move objects and references between compare objects, and commands that move objects and references between
repositories. repositories.
Manipulation commands Manipulation commands
~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
@ -127,6 +146,20 @@ Synching repositories
include::cmds-synchingrepositories.txt[] include::cmds-synchingrepositories.txt[]
The following are helper programs used by the above; end users
typically do not use them directly.
include::cmds-synchelpers.txt[]
Internal helper commands
~~~~~~~~~~~~~~~~~~~~~~~~
These are internal helper commands used by other commands; end
users typically do not use them directly.
include::cmds-purehelpers.txt[]
Configuration Mechanism Configuration Mechanism
----------------------- -----------------------