From: Han-Wen Nienhuys <redacted>
This prepares for supporting the reftable format, which will want
create its own file system layout in .git
Signed-off-by: Han-Wen Nienhuys <redacted>
---
builtin/init-db.c | 2 --
refs/files-backend.c | 5 +++++
2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/builtin/init-db.c b/builtin/init-db.c
index 944ec77fe1..45bdea0589 100644
--- a/builtin/init-db.c
+++ b/builtin/init-db.c
@@ -226,8 +226,6 @@ static int create_default_files(const char *template_path,
* We need to create a "refs" dir in any case so that older
* versions of git can tell that this is a repository.
*/
- safe_create_dir(git_path("refs"), 1);
- adjust_shared_perm(git_path("refs"));
if (refs_init_db(&err))
die("failed to set up refs db: %s", err.buf);diff --git a/refs/files-backend.c b/refs/files-backend.c
index 0ea66a28b6..0c53b246e8 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -3158,6 +3158,11 @@ static int files_init_db(struct ref_store *ref_store, struct strbuf *err)
files_downcast(ref_store, REF_STORE_WRITE, "init_db");
struct strbuf sb = STRBUF_INIT;
+ files_ref_path(refs, &sb, "refs");
+ safe_create_dir(sb.buf, 1);
+ /* adjust permissions even if directory already exists. */
+ adjust_shared_perm(sb.buf);
+
/*
* Create .git/refs/{heads,tags}
*/--
gitgitgadget