reflog_expire: convert to struct object_id

Adjust the callback functions to take struct object_id * instead of
unsigned char *, and modify related static functions accordingly.

Introduce a temporary object_id instance into files_reflog_expire and
copy the SHA-1 value passed in.  This is necessary because the sha1
parameter can come indirectly from get_sha1.  Without the temporary, it
would require much more refactoring to be able to convert this function.

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-05-06 22:10:00 +00:00
committed by Junio C Hamano
parent 9e31eafe7e
commit 4322478a49
3 changed files with 19 additions and 16 deletions

6
refs.h
View File

@@ -611,10 +611,10 @@ enum expire_reflog_flags {
* unlocked again.
*/
typedef void reflog_expiry_prepare_fn(const char *refname,
const unsigned char *sha1,
const struct object_id *oid,
void *cb_data);
typedef int reflog_expiry_should_prune_fn(unsigned char *osha1,
unsigned char *nsha1,
typedef int reflog_expiry_should_prune_fn(struct object_id *ooid,
struct object_id *noid,
const char *email,
unsigned long timestamp, int tz,
const char *message, void *cb_data);