command-list.txt: documentation and guide line

This is intended to help anybody who needs to update command-list.txt. It gives a brief introduction of all attributes a command can take. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Nguyễn Thái Ngọc Duy committed May 20, 2018 at 20:40 UTC fe902f2cefee4d4607c43efe8b5750f346199c43
1 file changed +45
command-list.txt
+45
@@ -1,3 +1,48 @@
1 +# Command classification list
2 +# ---------------------------
3 +# All supported commands, builtin or external, must be described in
4 +# here. This info is used to list commands in various places. Each
5 +# command is on one line followed by one or more attributes.
6 +#
7 +# The first attribute group is mandatory and indicates the command
8 +# type. This group includes:
9 +#
10 +# mainporcelain
11 +# ancillarymanipulators
12 +# ancillaryinterrogators
13 +# foreignscminterface
14 +# plumbingmanipulators
15 +# plumbinginterrogators
16 +# synchingrepositories
17 +# synchelpers
18 +# purehelpers
19 +#
20 +# The type names are self explanatory. But if you want to see what
21 +# command belongs to what group to get a better picture, have a look
22 +# at "git" man page, "GIT COMMANDS" section.
23 +#
24 +# Commands of type mainporcelain can also optionally have one of these
25 +# attributes:
26 +#
27 +# init
28 +# worktree
29 +# info
30 +# history
31 +# remote
32 +#
33 +# These commands are considered "common" and will show up in "git
34 +# help" output in groups. Uncommon porcelain commands must not
35 +# specify any of these attributes.
36 +#
37 +# "complete" attribute is used to mark that the command should be
38 +# completable by git-completion.bash. Note that by default,
39 +# mainporcelain commands are completable so you don't need this
40 +# attribute.
41 +#
42 +# As part of the Git man page list, the man(5/7) guides are also
43 +# specified here, which can only have "guide" attribute and nothing
44 +# else.
45 +#
46 ### command list (do not change this line, also do not change alignment)
47 # command name category [category] [category]
48 git-add mainporcelain worktree