From: Patrick Steinhardt <ps@pks.im>
To: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
Cc: git@vger.kernel.org, Karthik Nayak <karthik.188@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2 01/11] builtin/init: rename "--ref-format=" to "--ref-storage-format="
Date: Wed, 9 Sep 2026 09:00:05 +0200 [thread overview]
Message-ID: <aqED9Xn6xibcp9pf@pks.im> (raw)
In-Reply-To: <aacc3fcb-43e6-4f62-b083-5fbabaa9f494@gmail.com>
On Tue, Sep 08, 2026 at 02:31:22PM +0530, Kaartic Sivaraam wrote:
> On 9/7/26 16:48, Patrick Steinhardt wrote:
>
> > Instead, this and subsequent patches will fix the mess by consistently
> > referring to the ref storage format as such throughout all options,
> > environment variables and config settings. This new name much more
> > closely indicates that it is about how we store data and finally brings
> > consistency into this area. We will keep the old names working of course
> > for the sake of backwards compatibility.
> >
>
> Just a doubt regarding the old option. At the moment, the patch appears to
> introduce the new name alongside the old name. Do we not plan on deprecating
> the old one and issue a warning to users when it is used so that we could
> eventually retire it at some point?
I'm aiming for a a quiet deprecation -- the old options keep on working,
but we don't show them anymore. We may eventually remove them
altogether, but I neither want to warn about use of old options now or
even remove them as that would likely cause more negative consequences
than is worth it. It's not like we want to soon use the old names.
> > diff --git a/Documentation/config/init.adoc b/Documentation/config/init.adoc
> > index 7b4abdaf8b..a048f0bddc 100644
> > --- a/Documentation/config/init.adoc
> > +++ b/Documentation/config/init.adoc
> > @@ -15,7 +15,7 @@ endif::[]
> > this config.
> > `init.defaultRefFormat`::
> > Allows overriding the default ref storage format for new repositories.
> > - See `--ref-format=` in linkgit:git-init[1]. Both the command line
> > + See `--ref-storage-format=` in linkgit:git-init[1]. Both the command line
> > option and the `GIT_DEFAULT_REF_FORMAT` environment variable take
> > precedence over this config.
>
> Relevant only if we are deprecating the old option: we need to mention that
> the old one is deprecated in the documentation so that users are aware of
> the same.
But I agree that we should keep the old options documented. Otherwise,
it might be hard to figure out what those options do in case they for
example still exist in an old script.
> > diff --git a/builtin/init-db.c b/builtin/init-db.c
> > index e96b1283b7..63f33154c0 100644
> > --- a/builtin/init-db.c
> > +++ b/builtin/init-db.c
> > @@ -57,7 +57,7 @@ static int shared_callback(const struct option *opt, const char *arg, int unset)
> > static const char *const init_db_usage[] = {
> > N_("git init [-q | --quiet] [--bare] [--template=<template-directory>]\n"
> > " [--separate-git-dir <git-dir>] [--object-format=<format>]\n"
> > - " [--ref-format=<format>]\n"
> > + " [--ref-storage-format=<format>]\n"
> > " [-b <branch-name> | --initial-branch=<branch-name>]\n"
> > " [--shared[=<permissions>]] [<directory>]"),
> > NULL
> > @@ -83,7 +83,7 @@ int cmd_init_db(int argc,
> > unsigned int flags = 0;
> > int bare = startup_info->force_bare_repository ? 1 : -1;
> > const char *object_format = NULL;
> > - const char *ref_format = NULL;
> > + const char *ref_storage_format_str = NULL;
> > const char *initial_branch = NULL;
> > int hash_algo = GIT_HASH_UNKNOWN;
> > enum ref_storage_format ref_storage_format = REF_STORAGE_FORMAT_UNKNOWN;
> > @@ -109,8 +109,10 @@ int cmd_init_db(int argc,
> > N_("override the name of the initial branch")),
> > OPT_STRING(0, "object-format", &object_format, N_("hash"),
> > N_("specify the hash algorithm to use")),
> > - OPT_STRING(0, "ref-format", &ref_format, N_("format"),
> > - N_("specify the reference format to use")),
> > + OPT_STRING(0, "ref-storage-format", &ref_storage_format_str, N_("format"),
> > + N_("specify the reference storage format to use")),
> > + OPT_STRING_F(0, "ref-format", &ref_storage_format_str, N_("format"),
> > + N_("specify the reference storage format to use"), PARSE_OPT_HIDDEN),
>
> Relevant only if we are deprecating the old option: We could change the
> description of the old option to convey that it is deprecated so that it
> could be easily distinguished by anyone reading through. I suggest this by
> noting a similar pattern in `builtin/name-rev.c` for the `--stdin` argument.
We don't really have to update the description as we pass
`PARSE_OPT_HIDDEN` anyway, so the option is not even shown.
> If we don't plan to deprecate, I suppose we could use OPT_ALIAS to clarify
> that `ref-format` is an alias of `ref-storage-format` similar to how
> `recursive` is marked as an alias of `recurse-submodules` in
> `builtin/clone.c`.
I was originally planning to use `OPT_ALIAS()`, but we don't seem to
support `PARSE_OPT_HIDDEN` there. Maybe it's better to add a small
preparatory patch to support that though.
Patrick
next prev parent reply other threads:[~2026-09-09 7:00 UTC|newest]
Thread overview: 61+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 10:36 [PATCH 00/11] Fix inconsistent ref storage format terminology Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 01/11] builtin/init: rename "--ref-format=" to "--ref-storage=" Patrick Steinhardt
2026-09-04 13:05 ` Karthik Nayak
2026-09-07 10:00 ` Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 02/11] builtin/clone: " Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 03/11] builtin/refs: " Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 04/11] builtin/submodule: " Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 05/11] builtin/rev-parse: rename "--show-ref-format" to "--show-ref-storage" Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 06/11] help: rename "default-ref-format" to "default-ref-storage" Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 07/11] refs: expose function to parse reference URIs Patrick Steinhardt
2026-09-04 13:12 ` Karthik Nayak
2026-09-04 10:36 ` [PATCH 08/11] setup: refactor how we configure the ref storage format Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 09/11] setup: rename ref storage format environment variables Patrick Steinhardt
2026-09-04 13:20 ` Karthik Nayak
2026-09-07 10:00 ` Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 10/11] setup: rename "init.defaultRefFormat" to "init.defaultRefStorage" Patrick Steinhardt
2026-09-04 10:36 ` [PATCH 11/11] setup: allow "git init --ref-storage=" to specify a payload Patrick Steinhardt
2026-09-04 13:23 ` [PATCH 00/11] Fix inconsistent ref storage format terminology Karthik Nayak
2026-09-04 17:15 ` Junio C Hamano
2026-09-07 10:00 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 " Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 01/11] builtin/init: rename "--ref-format=" to "--ref-storage-format=" Patrick Steinhardt
2026-09-08 9:01 ` Kaartic Sivaraam
2026-09-09 7:00 ` Patrick Steinhardt [this message]
2026-09-09 9:14 ` Kaartic Sivaraam
2026-09-07 11:18 ` [PATCH v2 02/11] builtin/clone: " Patrick Steinhardt
2026-09-08 9:21 ` Kaartic Sivaraam
2026-09-09 7:03 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 03/11] builtin/refs: " Patrick Steinhardt
2026-09-08 10:55 ` Kaartic Sivaraam
2026-09-09 7:03 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 04/11] builtin/submodule: " Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 05/11] builtin/rev-parse: rename "--show-ref-format" to "--show-ref-storage-format" Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 06/11] help: rename "default-ref-format" to "default-ref-storage-format" Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 07/11] refs: expose function to parse reference URIs Patrick Steinhardt
2026-09-08 13:47 ` Kaartic Sivaraam
2026-09-09 7:03 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 08/11] setup: refactor how we configure the ref storage format Patrick Steinhardt
2026-09-09 8:00 ` Kaartic Sivaraam
2026-09-09 9:23 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 09/11] setup: rename ref storage format environment variables Patrick Steinhardt
2026-09-09 8:10 ` Kaartic Sivaraam
2026-09-09 9:23 ` Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 10/11] setup: rename "init.defaultRefFormat" to "init.defaultRefStorageFormat" Patrick Steinhardt
2026-09-07 11:18 ` [PATCH v2 11/11] setup: allow "git init --ref-storage-format=" to specify a payload Patrick Steinhardt
2026-09-09 8:54 ` Kaartic Sivaraam
2026-09-09 9:23 ` Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 00/13] Fix inconsistent ref storage format terminology Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 01/13] parse-options: allow for hidden aliases Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 02/13] builtin/init: rename "--ref-format=" to "--ref-storage-format=" Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 03/13] builtin/clone: " Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 04/13] builtin/refs: " Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 05/13] builtin/submodule: " Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 06/13] builtin/rev-parse: rename "--show-ref-format" to "--show-ref-storage-format" Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 07/13] help: rename "default-ref-format" to "default-ref-storage-format" Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 08/13] refs: expose function to parse reference URIs Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 09/13] setup: refactor how we configure the ref storage format Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 10/13] setup: rename ref storage format environment variables Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 11/13] t: rename GIT_TEST_DEFAULT_REF_FORMAT Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 12/13] setup: rename "init.defaultRefFormat" to "init.defaultRefStorageFormat" Patrick Steinhardt
2026-09-09 11:12 ` [PATCH v3 13/13] setup: allow "--ref-storage-format=" to specify a payload Patrick Steinhardt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aqED9Xn6xibcp9pf@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=kaartic.sivaraam@gmail.com \
--cc=karthik.188@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.