]> git.ipfire.org Git - thirdparty/git.git/commit
refs: extract out `refs_create_refdir_stubs()`
authorKarthik Nayak <karthik.188@gmail.com>
Wed, 25 Feb 2026 09:40:42 +0000 (10:40 +0100)
committerJunio C Hamano <gitster@pobox.com>
Wed, 25 Feb 2026 17:27:12 +0000 (09:27 -0800)
commit4ffbb02ee4bde38b4792b93cfba48755b394a130
tree722ababfdbaacf3e806cf8c142a11827f94e8a67
parent2c69ff481938a10660c2078cf83235db26773254
refs: extract out `refs_create_refdir_stubs()`

For Git to recognize a directory as a Git directory, it requires the
directory to contain:

  1. 'HEAD' file
  2. 'objects/' directory
  3. 'refs/' directory

Here, #1 and #3 are part of the reference storage mechanism,
specifically the files backend. Since then, newer backends such as the
reftable backend have moved to using their own path ('reftable/') for
storing references. But to ensure Git still recognizes the directory as
a Git directory, we create stubs.

There are two locations where we create stubs:

- In 'refs/reftable-backend.c' when creating the reftable backend.
- In 'clone.c' before spawning transport helpers.

In a following commit, we'll add another instance. So instead of
repeating the code, let's extract out this code to
`refs_create_refdir_stubs()` and use it.

Signed-off-by: Karthik Nayak <karthik.188@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/clone.c
refs.c
refs.h
refs/reftable-backend.c