Browse Source

refs: add an update_ref_oid function.

Several places around the codebase want to pass update_ref data from
struct object_id, but update_ref may also be passed NULL pointers.
Instead of checking and dereferencing in every caller, create an
update_ref_oid which wraps update_ref and provides this functionality.

Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
brian m. carlson 8 years ago committed by Junio C Hamano
parent
commit
8f6dc7e32e
  1. 8
      refs.c
  2. 3
      refs.h

8
refs.c

@ -858,6 +858,14 @@ int ref_transaction_verify(struct ref_transaction *transaction, @@ -858,6 +858,14 @@ int ref_transaction_verify(struct ref_transaction *transaction,
flags, NULL, err);
}

int update_ref_oid(const char *msg, const char *refname,
const struct object_id *new_oid, const struct object_id *old_oid,
unsigned int flags, enum action_on_err onerr)
{
return update_ref(msg, refname, new_oid ? new_oid->hash : NULL,
old_oid ? old_oid->hash : NULL, flags, onerr);
}

int update_ref(const char *msg, const char *refname,
const unsigned char *new_sha1, const unsigned char *old_sha1,
unsigned int flags, enum action_on_err onerr)

3
refs.h

@ -477,6 +477,9 @@ void ref_transaction_free(struct ref_transaction *transaction); @@ -477,6 +477,9 @@ void ref_transaction_free(struct ref_transaction *transaction);
int update_ref(const char *msg, const char *refname,
const unsigned char *new_sha1, const unsigned char *old_sha1,
unsigned int flags, enum action_on_err onerr);
int update_ref_oid(const char *msg, const char *refname,
const struct object_id *new_oid, const struct object_id *old_oid,
unsigned int flags, enum action_on_err onerr);

int parse_hide_refs_config(const char *var, const char *value, const char *);


Loading…
Cancel
Save