refs: keep track of unresolved reference value in iterators
Since ref iterators do not hold onto the direct value of a reference without resolving it, the only way to get ahold of a direct value of a symbolic ref is to make a separate call to refs_read_symbolic_ref. To make accessing the direct value of a symbolic ref more efficient, let's save the direct value of the ref in the iterators for both the files backend and the reftable backend. Signed-off-by: John Cai <johncai86@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
@ -299,6 +299,7 @@ enum do_for_each_ref_flags {
|
||||
struct ref_iterator {
|
||||
struct ref_iterator_vtable *vtable;
|
||||
const char *refname;
|
||||
const char *referent;
|
||||
const struct object_id *oid;
|
||||
unsigned int flags;
|
||||
};
|
||||
|
Reference in New Issue
Block a user