diff --git a/refs.c b/refs.c index 739bf9fefc..4fc1317cb3 100644 --- a/refs.c +++ b/refs.c @@ -320,6 +320,13 @@ int check_refname_format(const char *refname, int flags) return check_or_sanitize_refname(refname, flags, NULL); } +int refs_fsck_ref(struct ref_store *refs UNUSED, struct fsck_options *o UNUSED, + struct fsck_ref_report *report UNUSED, + const char *refname UNUSED, const struct object_id *oid UNUSED) +{ + return 0; +} + int refs_fsck_symref(struct ref_store *refs UNUSED, struct fsck_options *o, struct fsck_ref_report *report, const char *refname UNUSED, const char *target) diff --git a/refs.h b/refs.h index d91fcb2d2f..61c56cca36 100644 --- a/refs.h +++ b/refs.h @@ -655,6 +655,14 @@ int check_refname_format(const char *refname, int flags); struct fsck_ref_report; +/* + * Perform generic checks for a specific symref target. This function is + * expected to be called by the ref backends for every symbolic ref. + */ +int refs_fsck_ref(struct ref_store *refs, struct fsck_options *o, + struct fsck_ref_report *report, + const char *refname, const struct object_id *oid); + /* * Perform generic checks for a specific symref target. This function is * expected to be called by the ref backends for every symbolic ref. diff --git a/refs/files-backend.c b/refs/files-backend.c index 72c1db849e..e59794f5da 100644 --- a/refs/files-backend.c +++ b/refs/files-backend.c @@ -3833,6 +3833,8 @@ static int files_fsck_refs_content(struct ref_store *ref_store, "has trailing garbage: '%s'", trailing); goto cleanup; } + + ret = refs_fsck_ref(ref_store, o, &report, target_name, &oid); } else { ret = files_fsck_symref_target(ref_store, o, &report, target_name, &referent, 0);