DockerCLI/cli/command
Sebastiaan van Stijn f522905595
docker ps: always use --quiet, also combined with --format
Previously, the formatter would ignore the quiet option if a custom format
was passed; this situation was handled in runPs(), where custom formats
would only be applied if the quiet option was not set, but only if the
format was set in the CLI's config.

This patch updates NewContainerFormat() to do the same, even if a `--format`
was passed on the command-line.

This is a change in behavior, so may need some discussion; possible alternatives;

- produce an error if both `--format` and `--quiet` are passed
- print a warning if both are passed (but use the logic from this patch)

Before this patch:

```console
docker ps --format '{{.Image}}'
ubuntu:22.04
alpine

docker ps --format '{{.Image}}' --quiet
ubuntu:22.04
alpine

mkdir -p ~/.docker/
echo '{"psFormat": "{{.Image}}"}' > ~/.docker/config.json

docker ps
ubuntu:22.04
alpine

docker ps --quiet
ubuntu:22.04
alpine
```

With this patch applied:

```console
docker ps --format '{{.Image}}'
ubuntu:22.04
alpine

docker ps --format '{{.Image}}' --quiet
40111f61d5c5
482efdf39fac

mkdir -p ~/.docker/
echo '{"psFormat": "{{.Image}}"}' > ~/.docker/config.json

docker ps
ubuntu:22.04
alpine

docker ps --quiet
40111f61d5c5
482efdf39fac
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2023-04-10 01:12:00 +02:00
..
builder cmd: set double quotes as code delimiter 2023-01-06 19:15:33 +01:00
checkpoint cli/command/checkpoint: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:05 +02:00
commands remove exec, push, pull, ps, images, info from "legacy" commands 2022-04-08 16:55:39 +02:00
completion vendor: github.com/docker/docker master (v24.0.0-dev) 2023-03-30 19:56:28 +02:00
config cli/command/config: fakeClient: include context in fake client (revive) 2023-03-30 17:05:32 +02:00
container docker ps: always use --quiet, also combined with --format 2023-04-10 01:12:00 +02:00
context cli/command/context: remove redundant if ...; err != nil check (revive) 2023-03-30 17:05:29 +02:00
formatter docker ps: always use --quiet, also combined with --format 2023-04-10 01:12:00 +02:00
idresolver cli/command/idresolver: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:06 +02:00
image replace uses of deprecated api/types.AuthConfig 2023-03-30 19:57:16 +02:00
inspect linting: fix incorrectly formatted errors (revive) 2022-03-28 10:37:25 +02:00
manifest manifest: save raw manifest content on download 2023-01-27 13:56:17 +00:00
network cli/command/network: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:07 +02:00
node cli/command/node: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:07 +02:00
plugin cli/command/plugin: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:08 +02:00
registry replace uses of deprecated api/types.AuthConfig 2023-03-30 19:57:16 +02:00
secret cli/command/secret: fakeClient: include context in fake client (revive) 2023-03-30 17:22:00 +02:00
service cli/command/service: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:08 +02:00
stack cli/command/stack: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:08 +02:00
swarm cli/command/swarm: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:09 +02:00
system cmd: set double quotes as code delimiter 2023-01-06 19:15:33 +01:00
task cli/command/task: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:09 +02:00
testdata Dynamically register kubernetes context store endpoint type. 2019-05-20 13:28:11 +01:00
trust cli/command/trust: fakeClient: remove name for unused arg (revive) 2023-03-30 17:22:09 +02:00
volume vendor: github.com/docker/docker master (v24.0.0-dev) 2023-03-30 19:56:28 +02:00
cli.go Merge pull request #3972 from thaJeztah/embed_streams 2023-04-09 12:49:56 +02:00
cli_options.go cli/command: add WithAPIClient 2022-12-05 21:40:39 +01:00
cli_options_test.go linting: os.Setenv() can be replaced by `t.Setenv()` (tenv) 2022-09-03 21:25:37 +02:00
cli_test.go cli/command: initialize client and load content lazily 2022-11-28 16:52:02 +01:00
context.go cli/command: move default context description to context itself 2022-11-22 12:57:54 +01:00
context_test.go cli/command: use more descriptive const in test 2022-11-22 12:57:57 +01:00
defaultcontextstore.go cli/flags: merge CommonOptions into ClientOptions 2022-11-22 12:32:18 +01:00
defaultcontextstore_test.go cli/flags: merge CommonOptions into ClientOptions 2022-11-22 12:32:18 +01:00
events_utils.go updated vendoring 2017-09-01 19:41:06 -04:00
registry.go replace uses of deprecated api/types.AuthConfig 2023-03-30 19:57:16 +02:00
registry_test.go replace uses of deprecated api/types.AuthConfig 2023-03-30 19:57:16 +02:00
streams.go cli/command: fix deprecation comments for Stream types 2023-04-01 18:28:35 +02:00
trust.go Refactor content_trust cli/flags handling 2018-03-08 15:00:43 -05:00
utils.go cli/command: use strings.Cut 2022-12-29 15:19:31 +01:00
utils_test.go format go with gofumpt (with -lang=1.19) 2022-09-30 19:14:36 +02:00