From: Kaartic Sivaraam <kaartic.sivaraam@gmail.com>
To: Patrick Steinhardt <ps@pks.im>, git@vger.kernel.org
Cc: Karthik Nayak <karthik.188@gmail.com>,
Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCH v2 07/11] refs: expose function to parse reference URIs
Date: Tue, 8 Sep 2026 19:17:06 +0530 [thread overview]
Message-ID: <54fc5f97-a8ed-4927-8b48-1b4c3c7b413a@gmail.com> (raw)
In-Reply-To: <20260907-b4-pks-unify-ref-storage-format-v2-7-6733c90ca5b0@pks.im>
On 9/7/26 16:48, Patrick Steinhardt wrote:
> In the next commit we're about to add more sites that want to parse a
> reference backends URI into a format and payload. Expose a new function
> `ref_storage_format_by_uri()` that enables this.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> enum ref_transaction_error {
> /* Default error code */
> REF_TRANSACTION_ERROR_GENERIC = -1,
> diff --git a/setup.c b/setup.c
> index dfe05d9a03..3be7dac452 100644
> --- a/setup.c
> +++ b/setup.c
>
> @@ -2069,16 +2051,12 @@ const char *setup_git_directory_gently(struct repository *repo, int *nongit_ok)
> */
> ref_backend_uri = getenv(GIT_REFERENCE_BACKEND_ENVIRONMENT);
> if (ref_backend_uri) {
> - char *format;
> -
> - free(discovery.format.ref_storage_payload);
> -
> - parse_reference_uri(ref_backend_uri, &format, &discovery.format.ref_storage_payload);
> - discovery.format.ref_storage_format = ref_storage_format_by_name(format);
> + FREE_AND_NULL(discovery.format.ref_storage_payload);
> + discovery.format.ref_storage_format =
> + ref_storage_format_by_uri(ref_backend_uri,
> + &discovery.format.ref_storage_payload);
> if (discovery.format.ref_storage_format == REF_STORAGE_FORMAT_UNKNOWN)
> - die(_("unknown ref storage format: '%s'"), format);
> -
> - free(format);
> + die(_("unknown ref storage format: '%s'"), ref_backend_uri);
If I'm not mistaken, we have now started printing the whole ref storage
backend configuration rather than just the name. I could see that we
don't actually have any variable that returns just the name part after
the refactor. I could also understand that we can't always expect a
'://' in the GIT_REF_STORAGE_FORMAT configuration so printing the whole
configuration may make sense. But could we possibly improve the error
message a bit? May be phrase it as follows:
$ GIT_REF_STORAGE_FORMAT=garbage://hello-world ./git status
fatal: invalid ref storage format configuration: 'garbage://hello-world'
> @@ -2806,18 +2784,16 @@ static void repository_format_configure(struct repository_format *repo_fmt,
>
> ref_backend_uri = getenv(GIT_REFERENCE_BACKEND_ENVIRONMENT);
> if (ref_backend_uri) {
> - char *backend, *payload;
> enum ref_storage_format format;
> + char *payload;
>
> - parse_reference_uri(ref_backend_uri, &backend, &payload);
> - format = ref_storage_format_by_name(backend);
> + format = ref_storage_format_by_uri(ref_backend_uri, &payload);
> if (format == REF_STORAGE_FORMAT_UNKNOWN)
> - die(_("unknown ref storage format: '%s'"), backend);
> + die(_("unknown ref storage format: '%s'"), ref_backend_uri);
>
Ditto here.
--
Sivaraam
next prev parent reply other threads:[~2026-09-08 13:47 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
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 [this message]
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=54fc5f97-a8ed-4927-8b48-1b4c3c7b413a@gmail.com \
--to=kaartic.sivaraam@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=karthik.188@gmail.com \
--cc=ps@pks.im \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox