summaryrefslogtreecommitdiffstats
path: root/man
diff options
context:
space:
mode:
authorMike Frysinger <vapier@google.com>2021-07-26 23:46:32 -0400
committerMike Frysinger <vapier@google.com>2021-07-28 05:38:34 +0000
commit56345c345bdfdd71399d17ccd0ffe8f39bf720eb (patch)
treeefea7101c53e3f8eaea34639a54d8caedd8aa45a /man
parenta024bd33b808489acc909036b63697a819cc6ce7 (diff)
downloadgit-repo-56345c345bdfdd71399d17ccd0ffe8f39bf720eb.tar.gz
repo: refactor help output handling
Currently we have the behavior: * `repo`: Equivalent to `repo help` -- only shows common subcommands (with short description), and then exits 0. * `repo --help`: Shows repo's core options, lists all commands (no specific info), and then exits 0. The first case is not behaving well: * If you run `repo` without a specific subcommand, that's an error, so we should be exiting 1 instead. * Showing only subcommands and no actual option summary makes it seem like repo itself doesn't take any options. This confuses users. Let's rework things a bit. Now we have the behavior: * `repo`: Shows repo's core options, lists all commands (no specific info), and then exits 1. * `repo --help`: Shows repo's core options, shows common subcommands (with short description), and then exits 0. * `repo --help-all`: Shows repo's core options, shows all subcommands (with short description), and then exits 0. Basically we swap the behavior of `repo` and `repo --help`, and fix the exit status when the subcommand is missing. The addition of --help-all is mostly for the man pages. We were relying on `repo help --all` to generate the repo(1) man page, but that too omitted the core repo options. Now the man page includes all the core repo options and provides a summary of all commands. Change-Id: I1f99b99d5b8af2591f96a078d0647a3d76d6b0fc Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/312908 Reviewed-by: Xin Li <delphij@google.com> Tested-by: Mike Frysinger <vapier@google.com>
Diffstat (limited to 'man')
-rw-r--r--man/repo-manifest.119
-rw-r--r--man/repo.142
2 files changed, 50 insertions, 11 deletions
diff --git a/man/repo-manifest.1 b/man/repo-manifest.1
index e42cc42e..be467607 100644
--- a/man/repo-manifest.1
+++ b/man/repo-manifest.1
@@ -36,6 +36,9 @@ output manifest in JSON format (experimental)
36\fB\-\-pretty\fR 36\fB\-\-pretty\fR
37format output for humans to read 37format output for humans to read
38.TP 38.TP
39\fB\-\-no\-local\-manifests\fR
40ignore local manifests
41.TP
39\fB\-o\fR \-|NAME.xml, \fB\-\-output\-file\fR=\fI\,\-\/\fR|NAME.xml 42\fB\-o\fR \-|NAME.xml, \fB\-\-output\-file\fR=\fI\,\-\/\fR|NAME.xml
40file to save the manifest to 43file to save the manifest to
41.SS Logging options: 44.SS Logging options:
@@ -95,7 +98,7 @@ include*)>
95.IP 98.IP
96<!ELEMENT notice (#PCDATA)> 99<!ELEMENT notice (#PCDATA)>
97.IP 100.IP
98<!ELEMENT remote EMPTY> 101<!ELEMENT remote (annotation*)>
99<!ATTLIST remote name ID #REQUIRED> 102<!ATTLIST remote name ID #REQUIRED>
100<!ATTLIST remote alias CDATA #IMPLIED> 103<!ATTLIST remote alias CDATA #IMPLIED>
101<!ATTLIST remote fetch CDATA #REQUIRED> 104<!ATTLIST remote fetch CDATA #REQUIRED>
@@ -393,13 +396,13 @@ Same syntax as the corresponding element of `project`.
393.PP 396.PP
394Element annotation 397Element annotation
395.PP 398.PP
396Zero or more annotation elements may be specified as children of a project 399Zero or more annotation elements may be specified as children of a project or
397element. Each element describes a name\-value pair that will be exported into 400remote element. Each element describes a name\-value pair. For projects, this
398each project's environment during a 'forall' command, prefixed with REPO__. In 401name\-value pair will be exported into each project's environment during a
399addition, there is an optional attribute "keep" which accepts the case 402\&'forall' command, prefixed with `REPO__`. In addition, there is an optional
400insensitive values "true" (default) or "false". This attribute determines 403attribute "keep" which accepts the case insensitive values "true" (default) or
401whether or not the annotation will be kept when exported with the manifest 404"false". This attribute determines whether or not the annotation will be kept
402subcommand. 405when exported with the manifest subcommand.
403.PP 406.PP
404Element copyfile 407Element copyfile
405.PP 408.PP
diff --git a/man/repo.1 b/man/repo.1
index 0bc3acdb..0e85b0b7 100644
--- a/man/repo.1
+++ b/man/repo.1
@@ -2,9 +2,44 @@
2.TH REPO "1" "July 2021" "repo" "Repo Manual" 2.TH REPO "1" "July 2021" "repo" "Repo Manual"
3.SH NAME 3.SH NAME
4repo \- repository management tool built on top of git 4repo \- repository management tool built on top of git
5.SH DESCRIPTION 5.SH SYNOPSIS
6usage: repo COMMAND [ARGS] 6.B repo
7The complete list of recognized repo commands are: 7[\fI\,-p|--paginate|--no-pager\/\fR] \fI\,COMMAND \/\fR[\fI\,ARGS\/\fR]
8.SH OPTIONS
9.TP
10\fB\-h\fR, \fB\-\-help\fR
11show this help message and exit
12.TP
13\fB\-\-help\-all\fR
14show this help message with all subcommands and exit
15.TP
16\fB\-p\fR, \fB\-\-paginate\fR
17display command output in the pager
18.TP
19\fB\-\-no\-pager\fR
20disable the pager
21.TP
22\fB\-\-color\fR=\fI\,COLOR\/\fR
23control color usage: auto, always, never
24.TP
25\fB\-\-trace\fR
26trace git command execution (REPO_TRACE=1)
27.TP
28\fB\-\-trace\-python\fR
29trace python command execution
30.TP
31\fB\-\-time\fR
32time repo command execution
33.TP
34\fB\-\-version\fR
35display this version of repo
36.TP
37\fB\-\-event\-log\fR=\fI\,EVENT_LOG\/\fR
38filename of event log to append timeline to
39.TP
40\fB\-\-git\-trace2\-event\-log\fR=\fI\,GIT_TRACE2_EVENT_LOG\/\fR
41directory to write git trace2 event log to
42.SS "The complete list of recognized repo commands are:"
8.TP 43.TP
9abandon 44abandon
10Permanently abandon a development branch 45Permanently abandon a development branch
@@ -91,3 +126,4 @@ version
91Display the version of repo 126Display the version of repo
92.PP 127.PP
93See 'repo help <command>' for more information on a specific command. 128See 'repo help <command>' for more information on a specific command.
129Bug reports: https://bugs.chromium.org/p/gerrit/issues/entry?template=Repo+tool+issue