[PATCH v5 2/5] create .git/refs in files-backend.c
- From
Han-Wen Nienhuys via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Feb 10, 2020, 14:14 UTC
- Message-ID
- <4d6da9bc473580f56ecd1f1fa2df5c8e8bd5e936.1581344060.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.539.v5.git.1581344060.gitgitgadget@gmail.com>
From: Han-Wen Nienhuys <hanwen@google.com>
This prepares for supporting the reftable format, which will want create its own file system layout in .git
Signed-off-by: Han-Wen Nienhuys <hanwen@google.com> --- builtin/init-db.c | 2 -- refs/files-backend.c | 6 ++++++ 2 files changed, 6 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..1d362e99fb 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -3158,9 +3158,15 @@ 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} */ + strbuf_reset(&sb); files_ref_path(refs, &sb, "refs/heads"); safe_create_dir(sb.buf, 1);
-- gitgitgadget