refs: move submodule code out of files-backend.c
files-backend is now initialized with a $GIT_DIR. Converting a submodule path to where real submodule gitdir is located is done in get_ref_store(). This gives a slight performance improvement for submodules since we don't convert submodule path to gitdir at every backend call like before. We pay that once at ref-store creation. More cleanup in files_downcast() and files_assert_main_repository() follows shortly. It's separate to keep noises from this patch. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
bbbb7de7ac
commit
5d0bc90e5d
@ -482,12 +482,11 @@ struct ref_store;
|
||||
/* refs backends */
|
||||
|
||||
/*
|
||||
* Initialize the ref_store for the specified submodule, or for the
|
||||
* main repository if submodule == NULL. These functions should call
|
||||
* base_ref_store_init() to initialize the shared part of the
|
||||
* ref_store and to record the ref_store for later lookup.
|
||||
* Initialize the ref_store for the specified gitdir. These functions
|
||||
* should call base_ref_store_init() to initialize the shared part of
|
||||
* the ref_store and to record the ref_store for later lookup.
|
||||
*/
|
||||
typedef struct ref_store *ref_store_init_fn(const char *submodule);
|
||||
typedef struct ref_store *ref_store_init_fn(const char *gitdir);
|
||||
|
||||
typedef int ref_init_db_fn(struct ref_store *refs, struct strbuf *err);
|
||||
|
||||
|
Reference in New Issue
Block a user