MCPcopy Index your code
hub / github.com/git/git / reftable_stack_read_ref

Function reftable_stack_read_ref

reftable/stack.c:1681–1709  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1679}
1680
1681int reftable_stack_read_ref(struct reftable_stack *st, const char *refname,
1682 struct reftable_ref_record *ref)
1683{
1684 struct reftable_iterator it = { 0 };
1685 int ret;
1686
1687 ret = reftable_merged_table_init_ref_iterator(st->merged, &it);
1688 if (ret)
1689 goto out;
1690
1691 ret = reftable_iterator_seek_ref(&it, refname);
1692 if (ret)
1693 goto out;
1694
1695 ret = reftable_iterator_next_ref(&it, ref);
1696 if (ret)
1697 goto out;
1698
1699 if (strcmp(ref->refname, refname) ||
1700 reftable_ref_record_is_deletion(ref)) {
1701 reftable_ref_record_release(ref);
1702 ret = 1;
1703 goto out;
1704 }
1705
1706out:
1707 reftable_iterator_destroy(&it);
1708 return ret;
1709}
1710
1711int reftable_stack_read_log(struct reftable_stack *st, const char *refname,
1712 struct reftable_log_record *log)