refs: convert read_ref and read_ref_full to object_id

All but two of the call sites already have parameters using the hash
parameter of struct object_id, so convert them to take a pointer to the
struct directly.  Also convert refs_read_refs_full, the underlying
implementation.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
brian m. carlson
2017-10-15 22:06:56 +00:00
committed by Junio C Hamano
parent 0f2dc722dd
commit 34c290a6fc
19 changed files with 46 additions and 47 deletions

26
refs.c
View File

@ -219,22 +219,22 @@ struct ref_filter {
};
int refs_read_ref_full(struct ref_store *refs, const char *refname,
int resolve_flags, unsigned char *sha1, int *flags)
int resolve_flags, struct object_id *oid, int *flags)
{
if (refs_resolve_ref_unsafe(refs, refname, resolve_flags, sha1, flags))
if (refs_resolve_ref_unsafe(refs, refname, resolve_flags, oid->hash, flags))
return 0;
return -1;
}
int read_ref_full(const char *refname, int resolve_flags, unsigned char *sha1, int *flags)
int read_ref_full(const char *refname, int resolve_flags, struct object_id *oid, int *flags)
{
return refs_read_ref_full(get_main_ref_store(), refname,
resolve_flags, sha1, flags);
resolve_flags, oid, flags);
}
int read_ref(const char *refname, unsigned char *sha1)
int read_ref(const char *refname, struct object_id *oid)
{
return read_ref_full(refname, RESOLVE_REF_READING, sha1, NULL);
return read_ref_full(refname, RESOLVE_REF_READING, oid, NULL);
}
int ref_exists(const char *refname)
@ -362,7 +362,7 @@ int head_ref_namespaced(each_ref_fn fn, void *cb_data)
int flag;
strbuf_addf(&buf, "%sHEAD", get_git_namespace());
if (!read_ref_full(buf.buf, RESOLVE_REF_READING, oid.hash, &flag))
if (!read_ref_full(buf.buf, RESOLVE_REF_READING, &oid, &flag))
ret = fn(buf.buf, &oid, flag, cb_data);
strbuf_release(&buf);
@ -601,7 +601,7 @@ static int write_pseudoref(const char *pseudoref, const struct object_id *oid,
if (old_oid) {
struct object_id actual_old_oid;
if (read_ref(pseudoref, actual_old_oid.hash))
if (read_ref(pseudoref, &actual_old_oid))
die("could not read ref '%s'", pseudoref);
if (oidcmp(&actual_old_oid, old_oid)) {
strbuf_addf(err, "unexpected sha1 when writing '%s'", pseudoref);
@ -639,7 +639,7 @@ static int delete_pseudoref(const char *pseudoref, const struct object_id *old_o
get_files_ref_lock_timeout_ms());
if (fd < 0)
die_errno(_("Could not open '%s' for writing"), filename);
if (read_ref(pseudoref, actual_old_oid.hash))
if (read_ref(pseudoref, &actual_old_oid))
die("could not read ref '%s'", pseudoref);
if (oidcmp(&actual_old_oid, old_oid)) {
warning("Unexpected sha1 when deleting %s", pseudoref);
@ -1249,7 +1249,7 @@ int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
int flag;
if (!refs_read_ref_full(refs, "HEAD", RESOLVE_REF_READING,
oid.hash, &flag))
&oid, &flag))
return fn("HEAD", &oid, flag, cb_data);
return 0;
@ -1699,7 +1699,7 @@ int refs_peel_ref(struct ref_store *refs, const char *refname,
unsigned char *sha1)
{
int flag;
unsigned char base[20];
struct object_id base;
if (current_ref_iter && current_ref_iter->refname == refname) {
struct object_id peeled;
@ -1711,10 +1711,10 @@ int refs_peel_ref(struct ref_store *refs, const char *refname,
}
if (refs_read_ref_full(refs, refname,
RESOLVE_REF_READING, base, &flag))
RESOLVE_REF_READING, &base, &flag))
return -1;
return peel_object(base, sha1);
return peel_object(base.hash, sha1);
}
int peel_ref(const char *refname, unsigned char *sha1)