Skip to content

Commit ad6c41f

Browse files
pks-tgitster
authored andcommitted
refs/reftable: refactor reading symbolic refs to use reftable backend
Refactor the callback function that reads symbolic references in the reftable backend to use `reftable_backend_read_ref()` instead of accessing the reftable stack directly. This ensures that the function will benefit from the new caching layer that we're about to introduce. Signed-off-by: Patrick Steinhardt <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 27fdf8f commit ad6c41f

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

refs/reftable-backend.c

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -884,21 +884,18 @@ static int reftable_be_read_symbolic_ref(struct ref_store *ref_store,
884884
{
885885
struct reftable_ref_store *refs =
886886
reftable_be_downcast(ref_store, REF_STORE_READ, "read_symbolic_ref");
887-
struct reftable_ref_record ref = {0};
888887
struct reftable_backend *be;
888+
struct object_id oid;
889+
unsigned int type = 0;
889890
int ret;
890891

891892
ret = backend_for(&be, refs, refname, &refname, 1);
892893
if (ret)
893894
return ret;
894895

895-
ret = reftable_stack_read_ref(be->stack, refname, &ref);
896-
if (ret == 0 && ref.value_type == REFTABLE_REF_SYMREF)
897-
strbuf_addstr(referent, ref.value.symref);
898-
else
896+
ret = reftable_backend_read_ref(be, refname, &oid, referent, &type);
897+
if (type != REF_ISSYMREF)
899898
ret = -1;
900-
901-
reftable_ref_record_release(&ref);
902899
return ret;
903900
}
904901

0 commit comments

Comments
 (0)