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 <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		 Patrick Steinhardt
					Patrick Steinhardt
				
			
				
					committed by
					
						 Junio C Hamano
						Junio C Hamano
					
				
			
			
				
	
			
			
			 Junio C Hamano
						Junio C Hamano
					
				
			
						parent
						
							27fdf8f4ed
						
					
				
				
					commit
					ad6c41f4b7
				
			| @ -884,21 +884,18 @@ static int reftable_be_read_symbolic_ref(struct ref_store *ref_store, | ||||
| { | ||||
| 	struct reftable_ref_store *refs = | ||||
| 		reftable_be_downcast(ref_store, REF_STORE_READ, "read_symbolic_ref"); | ||||
| 	struct reftable_ref_record ref = {0}; | ||||
| 	struct reftable_backend *be; | ||||
| 	struct object_id oid; | ||||
| 	unsigned int type = 0; | ||||
| 	int ret; | ||||
|  | ||||
| 	ret = backend_for(&be, refs, refname, &refname, 1); | ||||
| 	if (ret) | ||||
| 		return ret; | ||||
|  | ||||
| 	ret = reftable_stack_read_ref(be->stack, refname, &ref); | ||||
| 	if (ret == 0 && ref.value_type == REFTABLE_REF_SYMREF) | ||||
| 		strbuf_addstr(referent, ref.value.symref); | ||||
| 	else | ||||
| 	ret = reftable_backend_read_ref(be, refname, &oid, referent, &type); | ||||
| 	if (type != REF_ISSYMREF) | ||||
| 		ret = -1; | ||||
|  | ||||
| 	reftable_ref_record_release(&ref); | ||||
| 	return ret; | ||||
| } | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user