From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 1/8] t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY
Date: Fri, 22 May 2026 01:49:24 +0900 [thread overview]
Message-ID: <xmqqcxyozp0r.fsf@gitster.g> (raw)
In-Reply-To: <20260521-b4-pks-setup-centralize-odb-creation-v1-1-f130d2a7e8ae@pks.im> (Patrick Steinhardt's message of "Thu, 21 May 2026 09:42:28 +0200")
Patrick Steinhardt <ps@pks.im> writes:
> In subsequent commits we'll rework how we set up the repository. This is
> a somewhat intricate and thus fragile sequence, there's many things that
> can go subtly wrong, and there are lots of interesting interactions that
> one can discover.
>
> One such discovered edge case was the interaction between git-init(1)
> and the "GIT_OBJECT_DIRECTORY" enviroment variable. When set, the
"environment"???
> behaviour is that the object directory should be created at the path
> that the variable points to. This behaviour is documented as such in
> its man page:
>
> If the object storage directory is specified via the
> GIT_OBJECT_DIRECTORY environment variable then the sha1 directories
> are created underneath; otherwise, the default $GIT_DIR/objects
> directory is used.
>
> Curiously enough though we don't seem to have any tests that exercise
> this directly, and thus a subsequent commit inadvertently broke this
> expectation.
>
> Plug this test gap.
Nice.
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> t/t0001-init.sh | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/t/t0001-init.sh b/t/t0001-init.sh
> index e4d32bb4d2..e89feca544 100755
> --- a/t/t0001-init.sh
> +++ b/t/t0001-init.sh
> @@ -980,4 +980,14 @@ test_expect_success 're-init reads matching includeIf.onbranch' '
> test_cmp expect err
> '
>
> +test_expect_success 'init honors GIT_OBJECT_DIRECTORY' '
> + test_when_finished "rm -rf init-objdir custom-odb" &&
> + mkdir custom-odb &&
> + env GIT_OBJECT_DIRECTORY="$(pwd)/custom-odb" \
> + git init init-objdir &&
> + test_path_is_missing init-objdir/.git/objects/pack &&
> + test_path_is_dir custom-odb/pack &&
> + test_path_is_dir custom-odb/info
> +'
> +
> test_done
next prev parent reply other threads:[~2026-05-21 16:49 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-21 7:42 [PATCH 0/8] setup: centralize object database creation Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 1/8] t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY Patrick Steinhardt
2026-05-21 16:49 ` Junio C Hamano [this message]
2026-05-21 17:51 ` Kristoffer Haugsbakk
2026-05-22 6:06 ` Patrick Steinhardt
2026-05-22 9:05 ` Kristoffer Haugsbakk
2026-05-21 7:42 ` [PATCH 2/8] setup: drop `setup_git_env()` Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 3/8] setup: deduplicate logic to apply repository format Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 4/8] repository: stop initializing the object database in `repo_set_gitdir()` Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 5/8] setup: stop creating the object database in `setup_git_env()` Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 6/8] setup: stop initializing object database without repository Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 7/8] repository: stop reading loose object map twice on repo init Patrick Steinhardt
2026-05-21 7:42 ` [PATCH 8/8] setup: construct object database in `apply_repository_format()` Patrick Steinhardt
2026-05-21 17:59 ` Junio C Hamano
2026-05-22 6:03 ` Patrick Steinhardt
2026-05-22 0:32 ` [PATCH 0/8] setup: centralize object database creation Junio C Hamano
2026-05-22 6:03 ` Patrick Steinhardt
2026-05-26 5:56 ` [PATCH v2 " Patrick Steinhardt
2026-05-26 5:56 ` [PATCH v2 1/8] t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY Patrick Steinhardt
2026-06-03 12:22 ` Karthik Nayak
2026-05-26 5:56 ` [PATCH v2 2/8] setup: drop `setup_git_env()` Patrick Steinhardt
2026-05-26 5:56 ` [PATCH v2 3/8] setup: deduplicate logic to apply repository format Patrick Steinhardt
2026-06-03 12:43 ` Karthik Nayak
2026-06-04 6:08 ` Patrick Steinhardt
2026-05-26 5:56 ` [PATCH v2 4/8] repository: stop initializing the object database in `repo_set_gitdir()` Patrick Steinhardt
2026-06-03 12:49 ` Karthik Nayak
2026-06-04 6:08 ` Patrick Steinhardt
2026-05-26 5:57 ` [PATCH v2 5/8] setup: stop creating the object database in `setup_git_env()` Patrick Steinhardt
2026-06-03 12:57 ` Karthik Nayak
2026-05-26 5:57 ` [PATCH v2 6/8] setup: stop initializing object database without repository Patrick Steinhardt
2026-05-26 5:57 ` [PATCH v2 7/8] repository: stop reading loose object map twice on repo init Patrick Steinhardt
2026-05-26 5:57 ` [PATCH v2 8/8] setup: construct object database in `apply_repository_format()` Patrick Steinhardt
2026-06-03 13:04 ` [PATCH v2 0/8] setup: centralize object database creation Karthik Nayak
2026-06-04 6:08 ` Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 " Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 1/8] t0001: plug test gaps for git-init(1) with GIT_OBJECT_DIRECTORY Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 2/8] setup: drop `setup_git_env()` Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 3/8] setup: deduplicate logic to apply repository format Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 4/8] repository: stop initializing the object database in `repo_set_gitdir()` Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 5/8] setup: stop creating the object database in `setup_git_env()` Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 6/8] setup: stop initializing object database without repository Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 7/8] repository: stop reading loose object map twice on repo init Patrick Steinhardt
2026-06-04 7:46 ` [PATCH v3 8/8] setup: construct object database in `apply_repository_format()` Patrick Steinhardt
2026-06-05 14:16 ` [PATCH v3 0/8] setup: centralize object database creation Karthik Nayak
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=xmqqcxyozp0r.fsf@gitster.g \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--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 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.