Subject: Re: [PATCH v2] archive: rewrite description for compression level option

From: Ævar Arnfjörð Bjarmason <[email-masked]>
Date: Fri, 15 Oct 2021 14:46:29 +0200

On Fri, Oct 15 2021, Bagas Sanjaya wrote:

> Rewrite the description of `-#` option. Since the option is also
> supported on tar archive, move to OPTIONS section and remove EXTRA.
>
> Signed-off-by: Bagas Sanjaya <[email-masked]>
> ---
>  Changes since v1 [1]:
>      - Mention common levels (store-only, fastest time, and best
>        compression).
>      - Note that compression level option is supported by both zip and
>        tar format, so move the description to OPTIONS section.
>
>  [1]: https://lore.kernel.org/git/[email-masked]/T/#t
>
>  Documentation/git-archive.txt | 24 ++++++++----------------
>  1 file changed, 8 insertions(+), 16 deletions(-)
>
> diff --git a/Documentation/git-archive.txt b/Documentation/git-archive.txt
> index 9f8172828d..9aecc0936c 100644
> --- a/Documentation/git-archive.txt
> +++ b/Documentation/git-archive.txt
> @@ -9,7 +9,7 @@ git-archive - Create an archive of files from a named tree
>  SYNOPSIS
>  --------
>  [verse]
> -'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [<extra>]
> +'git archive' [--format=<fmt>] [--list] [--prefix=<prefix>/] [-#]
>  	      [-o <file> | --output=<file>] [--worktree-attributes]
>  	      [--remote=<repo> [--exec=<git-upload-archive>]] <tree-ish>
>  	      [<path>...]
> @@ -65,10 +65,6 @@ OPTIONS
>  	Look for attributes in .gitattributes files in the working tree
>  	as well (see <<ATTRIBUTES>>).
>  
> -<extra>::
> -	This can be any options that the archiver backend understands.
> -	See next section.
> -
>  --remote=<repo>::
>  	Instead of making a tar archive from the local repository,
>  	retrieve a tar archive from a remote repository. Note that the
> @@ -88,17 +84,13 @@ OPTIONS
>  	of the current working directory are included in the archive.
>  	If one or more paths are specified, only these are included.
>  
> -BACKEND EXTRA OPTIONS
> ----------------------
> -
> -zip
> -~~~
> --0::
> -	Store the files instead of deflating them.
> --9::
> -	Highest and slowest compression level.  You can specify any
> -	number from 1 to 9 to adjust compression speed and ratio.
> -
> +-#::
> +	Select the compression level. The supported levels and default
> +	value (if none is selected) are depending on compression command
> +	backend configured for the selected format (either explicitly with
> +	`--format` or inferred from file name specified with `-o`). Common
> +	values are `-0` for only storing files (zip only), `-1` for fastest
> +	compression time, and `-9` for best compression ratio.

This is getting there, but I think we really should not have a -# in the
synopsis, since that's not how we refer to a digit-wildcard in any other
context. And users might assume that a literal -# is meant, some
commonly used tools even support that, e.g. try:

    curl -L -o /dev/null -# https://cdimage.debian.org/debian-cd/current/amd64/iso-dvd/debian-11.1.0-amd64-DVD-1.iso

Let's just use "[-<0..9 digit>[", or "[-<digit>]" in the SYNOPSIS and
explain that it's 0..9 below in this section..