From db6208994fe793d164c7f77f511390d8007b12a0 Mon Sep 17 00:00:00 2001 From: Aleksandr Cupacenko Date: Sun, 23 Aug 2026 22:17:30 +0300 Subject: [PATCH] Clarify CLI output semantics --- README.md | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index fa48ca3..015cbed 100644 --- a/README.md +++ b/README.md @@ -48,12 +48,12 @@ zget -1 URL [MEMBER] ## Familiar by design -Archive operations follow `unzip` where practical, while output conventions -follow `curl`. `zget URL MEMBER` therefore streams to standard output, while -`-o FILE` names a local output. Unlike ordinary redirection, named output is -validated completely before publication and never overwrites an existing path. -`-l` requests an `unzip`-style listing; the compact `-1` form follows `zipinfo` -and emits only names. +Archive operations follow `unzip` where practical, while the output interface +follows `curl`: `zget URL MEMBER` streams to standard output, while `-o FILE` +selects a local path. zget deliberately differs from curl's overwrite behavior: +named output is validated completely before publication and never overwrites an +existing path. `-l` requests an `unzip`-style listing; the compact `-1` form +follows `zipinfo` and emits only names. Extraction requires both a URL and an exact member name. A URL without a member is a usage error rather than an implicit request to list the archive; use `-l` @@ -332,10 +332,6 @@ redirects cannot downgrade to HTTP. A strong ETag from the first accepted response is used for later `If-Match` requests. Without one, consistency is best-effort and still checks the object size. -`-o` writes a temporary file in the destination directory and publishes it only -after decompression and CRC validation. Existing paths are never overwritten. -Stdout cannot be rolled back if a late error occurs. - ## Scope - Exact, case-sensitive full member paths; no normalization or globbing.