Merge branch 'mh/ref-store'
The ref-store abstraction was introduced to the refs API so that we can plug in different backends to store references. * mh/ref-store: (38 commits) refs: implement iteration over only per-worktree refs refs: make lock generic refs: add method to rename refs refs: add methods to init refs db refs: make delete_refs() virtual refs: add method for initial ref transaction commit refs: add methods for reflog refs: add method iterator_begin files_ref_iterator_begin(): take a ref_store argument split_symref_update(): add a files_ref_store argument lock_ref_sha1_basic(): add a files_ref_store argument lock_ref_for_update(): add a files_ref_store argument commit_ref_update(): add a files_ref_store argument lock_raw_ref(): add a files_ref_store argument repack_without_refs(): add a files_ref_store argument refs: make peel_ref() virtual refs: make create_symref() virtual refs: make pack_refs() virtual refs: make verify_refname_available() virtual refs: make read_raw_ref() virtual ...
This commit is contained in:
@ -180,13 +180,7 @@ static int create_default_files(const char *template_path)
|
||||
char junk[2];
|
||||
int reinit;
|
||||
int filemode;
|
||||
|
||||
/*
|
||||
* Create .git/refs/{heads,tags}
|
||||
*/
|
||||
safe_create_dir(git_path_buf(&buf, "refs"), 1);
|
||||
safe_create_dir(git_path_buf(&buf, "refs/heads"), 1);
|
||||
safe_create_dir(git_path_buf(&buf, "refs/tags"), 1);
|
||||
struct strbuf err = STRBUF_INIT;
|
||||
|
||||
/* Just look for `init.templatedir` */
|
||||
git_config(git_init_db_config, NULL);
|
||||
@ -210,11 +204,18 @@ static int create_default_files(const char *template_path)
|
||||
*/
|
||||
if (get_shared_repository()) {
|
||||
adjust_shared_perm(get_git_dir());
|
||||
adjust_shared_perm(git_path_buf(&buf, "refs"));
|
||||
adjust_shared_perm(git_path_buf(&buf, "refs/heads"));
|
||||
adjust_shared_perm(git_path_buf(&buf, "refs/tags"));
|
||||
}
|
||||
|
||||
/*
|
||||
* 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);
|
||||
|
||||
/*
|
||||
* Create the default symlink from ".git/HEAD" to the "master"
|
||||
* branch, if it does not exist yet.
|
||||
|
Reference in New Issue
Block a user