diff options
author | Mike Frysinger <vapier@google.com> | 2021-07-26 23:46:32 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@google.com> | 2021-07-28 05:38:34 +0000 |
commit | 56345c345bdfdd71399d17ccd0ffe8f39bf720eb (patch) | |
tree | efea7101c53e3f8eaea34639a54d8caedd8aa45a /man/repo-manifest.1 | |
parent | a024bd33b808489acc909036b63697a819cc6ce7 (diff) | |
download | git-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/repo-manifest.1')
-rw-r--r-- | man/repo-manifest.1 | 19 |
1 files changed, 11 insertions, 8 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 |
37 | format output for humans to read | 37 | format output for humans to read |
38 | .TP | 38 | .TP |
39 | \fB\-\-no\-local\-manifests\fR | ||
40 | ignore 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 |
40 | file to save the manifest to | 43 | file 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 |
394 | Element annotation | 397 | Element annotation |
395 | .PP | 398 | .PP |
396 | Zero or more annotation elements may be specified as children of a project | 399 | Zero or more annotation elements may be specified as children of a project or |
397 | element. Each element describes a name\-value pair that will be exported into | 400 | remote element. Each element describes a name\-value pair. For projects, this |
398 | each project's environment during a 'forall' command, prefixed with REPO__. In | 401 | name\-value pair will be exported into each project's environment during a |
399 | addition, there is an optional attribute "keep" which accepts the case | 402 | \&'forall' command, prefixed with `REPO__`. In addition, there is an optional |
400 | insensitive values "true" (default) or "false". This attribute determines | 403 | attribute "keep" which accepts the case insensitive values "true" (default) or |
401 | whether 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 |
402 | subcommand. | 405 | when exported with the manifest subcommand. |
403 | .PP | 406 | .PP |
404 | Element copyfile | 407 | Element copyfile |
405 | .PP | 408 | .PP |