зеркало из https://github.com/microsoft/git.git
Merge branch 'po/help-guides'
"git help" learned "-g" option to show the list of guides just like list of commands are given with "-a". * po/help-guides: doc: include --guide option description for "git help" help: mention -a and -g option, and 'git help <concept>' usage. builtin/help.c: add list_common_guides_help() function builtin/help.c: add --guide option builtin/help.c: split "-a" processing into two
This commit is contained in:
Коммит
b3569933dd
|
@ -8,31 +8,45 @@ git-help - Display help information about Git
|
|||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'git help' [-a|--all|-i|--info|-m|--man|-w|--web] [COMMAND]
|
||||
'git help' [-a|--all] [-g|--guide]
|
||||
[-i|--info|-m|--man|-w|--web] [COMMAND|GUIDE]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
|
||||
With no options and no COMMAND given, the synopsis of the 'git'
|
||||
With no options and no COMMAND or GUIDE given, the synopsis of the 'git'
|
||||
command and a list of the most commonly used Git commands are printed
|
||||
on the standard output.
|
||||
|
||||
If the option '--all' or '-a' is given, then all available commands are
|
||||
If the option '--all' or '-a' is given, all available commands are
|
||||
printed on the standard output.
|
||||
|
||||
If a Git subcommand is named, a manual page for that subcommand is brought
|
||||
up. The 'man' program is used by default for this purpose, but this
|
||||
can be overridden by other options or configuration variables.
|
||||
If the option '--guide' or '-g' is given, a list of the useful
|
||||
Git guides is also printed on the standard output.
|
||||
|
||||
If a command, or a guide, is given, a manual page for that command or
|
||||
guide is brought up. The 'man' program is used by default for this
|
||||
purpose, but this can be overridden by other options or configuration
|
||||
variables.
|
||||
|
||||
Note that `git --help ...` is identical to `git help ...` because the
|
||||
former is internally converted into the latter.
|
||||
|
||||
To display the linkgit:git[1] man page, use `git help git`.
|
||||
|
||||
This page can be displayed with 'git help help' or `git help --help`
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-a::
|
||||
--all::
|
||||
Prints all the available commands on the standard output. This
|
||||
option supersedes any other option.
|
||||
option overrides any given command or guide name.
|
||||
|
||||
-g::
|
||||
--guides::
|
||||
Prints a list of useful guides on the standard output. This
|
||||
option overrides any given command or guide name.
|
||||
|
||||
-i::
|
||||
--info::
|
||||
|
|
|
@ -36,10 +36,12 @@ enum help_format {
|
|||
static const char *html_path;
|
||||
|
||||
static int show_all = 0;
|
||||
static int show_guides = 0;
|
||||
static unsigned int colopts;
|
||||
static enum help_format help_format = HELP_FORMAT_NONE;
|
||||
static struct option builtin_help_options[] = {
|
||||
OPT_BOOLEAN('a', "all", &show_all, N_("print all available commands")),
|
||||
OPT_BOOL('a', "all", &show_all, N_("print all available commands")),
|
||||
OPT_BOOL('g', "guides", &show_guides, N_("print list of useful guides")),
|
||||
OPT_SET_INT('m', "man", &help_format, N_("show man page"), HELP_FORMAT_MAN),
|
||||
OPT_SET_INT('w', "web", &help_format, N_("show manual in web browser"),
|
||||
HELP_FORMAT_WEB),
|
||||
|
@ -49,7 +51,7 @@ static struct option builtin_help_options[] = {
|
|||
};
|
||||
|
||||
static const char * const builtin_help_usage[] = {
|
||||
N_("git help [--all] [--man|--web|--info] [command]"),
|
||||
N_("git help [--all] [--guides] [--man|--web|--info] [command]"),
|
||||
NULL
|
||||
};
|
||||
|
||||
|
@ -413,6 +415,37 @@ static void show_html_page(const char *git_cmd)
|
|||
open_html(page_path.buf);
|
||||
}
|
||||
|
||||
static struct {
|
||||
const char *name;
|
||||
const char *help;
|
||||
} common_guides[] = {
|
||||
{ "attributes", "Defining attributes per path" },
|
||||
{ "glossary", "A Git glossary" },
|
||||
{ "ignore", "Specifies intentionally untracked files to ignore" },
|
||||
{ "modules", "Defining submodule properties" },
|
||||
{ "revisions", "Specifying revisions and ranges for Git" },
|
||||
{ "tutorial", "A tutorial introduction to Git (for version 1.5.1 or newer)" },
|
||||
{ "workflows", "An overview of recommended workflows with Git"},
|
||||
};
|
||||
|
||||
static void list_common_guides_help(void)
|
||||
{
|
||||
int i, longest = 0;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
|
||||
if (longest < strlen(common_guides[i].name))
|
||||
longest = strlen(common_guides[i].name);
|
||||
}
|
||||
|
||||
puts(_("The common Git guides are:\n"));
|
||||
for (i = 0; i < ARRAY_SIZE(common_guides); i++) {
|
||||
printf(" %s ", common_guides[i].name);
|
||||
mput_char(' ', longest - strlen(common_guides[i].name));
|
||||
puts(_(common_guides[i].help));
|
||||
}
|
||||
putchar('\n');
|
||||
}
|
||||
|
||||
int cmd_help(int argc, const char **argv, const char *prefix)
|
||||
{
|
||||
int nongit;
|
||||
|
@ -428,7 +461,16 @@ int cmd_help(int argc, const char **argv, const char *prefix)
|
|||
git_config(git_help_config, NULL);
|
||||
printf(_("usage: %s%s"), _(git_usage_string), "\n\n");
|
||||
list_commands(colopts, &main_cmds, &other_cmds);
|
||||
}
|
||||
|
||||
if (show_guides)
|
||||
list_common_guides_help();
|
||||
|
||||
if (show_all || show_guides) {
|
||||
printf("%s\n", _(git_more_info_string));
|
||||
/*
|
||||
* We're done. Ignore any remaining args
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
4
git.c
4
git.c
|
@ -13,7 +13,9 @@ const char git_usage_string[] =
|
|||
" <command> [<args>]";
|
||||
|
||||
const char git_more_info_string[] =
|
||||
N_("See 'git help <command>' for more information on a specific command.");
|
||||
N_("'git help -a' and 'git help -g' lists available subcommands and some\n"
|
||||
"concept guides. See 'git help <command>' or 'git help <concept>'\n"
|
||||
"to read about a specific subcommand or concept.");
|
||||
|
||||
static struct startup_info git_startup_info;
|
||||
static int use_pager = -1;
|
||||
|
|
Загрузка…
Ссылка в новой задаче