mirror of
https://github.com/git/git.git
synced 2025-04-15 18:56:08 +00:00
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>
This commit is contained in:
parent
151b2911c1
commit
8f6dc7e32e
8
refs.c
8
refs.c
@ -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
3
refs.h
@ -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…
x
Reference in New Issue
Block a user