Subject: Re: [GSoC][PATCH 3/5] builtin/refs: add optimize subcommand

From: Patrick Steinhardt <[email-masked]>
Date: Tue, 2 Sep 2025 12:18:07 +0200

On Tue, Aug 26, 2025 at 01:06:43PM +0530, Meet Soni wrote:
> diff --git a/Documentation/git-refs.adoc b/Documentation/git-refs.adoc
> index e608980711..121a2fbeff 100644
> --- a/Documentation/git-refs.adoc
> +++ b/Documentation/git-refs.adoc
> @@ -18,6 +18,7 @@ git refs list [--count=<count>] [--shell|--perl|--python|--tcl]
>  		   [--contains[=<object>]] [--no-contains[=<object>]]
>  		   [(--exclude=<pattern>)...] [--start-after=<marker>]
>  		   [ --stdin | <pattern>... ]
> +git refs optimize [--all] [--no-prune] [--auto] [--include <pattern>] [--exclude <pattern>]
>  
>  DESCRIPTION
>  -----------
> @@ -38,6 +39,11 @@ list::
>  	formatting, and sorting. This subcommand is an alias for
>  	linkgit:git-for-each-ref[1] and offers identical functionality.
>  
> +optimize::
> +        Pack references into a single file to improve repository performance
> +        and reduce storage usage. This subcommand is an alias for
> +        linkgit:git-pack-refs[1] and offers identical functionality.

This feels way too specific to the "files" backend. We do pack
references there, but with the "reftable" backend we don't. Furthermore,
there is no guarantee that we'll only have a single file after
optimizing the store with either of the backends.

So this should be rephrased to become agnostic of the actual backend
that is in use. Maybe just say something like "Optimizes references to
improve repository performance and reduce disk usage."

Patrick