refs: make pack_refs() virtual
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
62665823d2
commit
8231527e15
7
refs.c
7
refs.c
@ -1421,6 +1421,13 @@ void assert_main_repository(struct ref_store *refs, const char *caller)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* backend functions */
|
/* backend functions */
|
||||||
|
int pack_refs(unsigned int flags)
|
||||||
|
{
|
||||||
|
struct ref_store *refs = get_ref_store(NULL);
|
||||||
|
|
||||||
|
return refs->be->pack_refs(refs, flags);
|
||||||
|
}
|
||||||
|
|
||||||
int ref_transaction_commit(struct ref_transaction *transaction,
|
int ref_transaction_commit(struct ref_transaction *transaction,
|
||||||
struct strbuf *err)
|
struct strbuf *err)
|
||||||
{
|
{
|
||||||
|
@ -2354,10 +2354,10 @@ static void prune_refs(struct ref_to_prune *r)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int pack_refs(unsigned int flags)
|
static int files_pack_refs(struct ref_store *ref_store, unsigned int flags)
|
||||||
{
|
{
|
||||||
struct files_ref_store *refs =
|
struct files_ref_store *refs =
|
||||||
get_files_ref_store(NULL, "pack_refs");
|
files_downcast(ref_store, 0, "pack_refs");
|
||||||
struct pack_refs_cb_data cbdata;
|
struct pack_refs_cb_data cbdata;
|
||||||
|
|
||||||
memset(&cbdata, 0, sizeof(cbdata));
|
memset(&cbdata, 0, sizeof(cbdata));
|
||||||
@ -4022,6 +4022,8 @@ struct ref_storage_be refs_be_files = {
|
|||||||
files_ref_store_create,
|
files_ref_store_create,
|
||||||
files_transaction_commit,
|
files_transaction_commit,
|
||||||
|
|
||||||
|
files_pack_refs,
|
||||||
|
|
||||||
files_read_raw_ref,
|
files_read_raw_ref,
|
||||||
files_verify_refname_available
|
files_verify_refname_available
|
||||||
};
|
};
|
||||||
|
@ -500,6 +500,8 @@ typedef int ref_transaction_commit_fn(struct ref_store *refs,
|
|||||||
struct ref_transaction *transaction,
|
struct ref_transaction *transaction,
|
||||||
struct strbuf *err);
|
struct strbuf *err);
|
||||||
|
|
||||||
|
typedef int pack_refs_fn(struct ref_store *ref_store, unsigned int flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read a reference from the specified reference store, non-recursively.
|
* Read a reference from the specified reference store, non-recursively.
|
||||||
* Set type to describe the reference, and:
|
* Set type to describe the reference, and:
|
||||||
@ -554,6 +556,8 @@ struct ref_storage_be {
|
|||||||
ref_store_init_fn *init;
|
ref_store_init_fn *init;
|
||||||
ref_transaction_commit_fn *transaction_commit;
|
ref_transaction_commit_fn *transaction_commit;
|
||||||
|
|
||||||
|
pack_refs_fn *pack_refs;
|
||||||
|
|
||||||
read_raw_ref_fn *read_raw_ref;
|
read_raw_ref_fn *read_raw_ref;
|
||||||
verify_refname_available_fn *verify_refname_available;
|
verify_refname_available_fn *verify_refname_available;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user