Hi Michael, On 2015-06-08 08:40, Michael Haggerty wrote: > New function, extracted from fsck_handle_reflog_ent(). The extra > is_null_sha1() test for the new reference is currently unnecessary, as > reflogs are deleted when the reference itself is deleted. But it > doesn't hurt, either. This patch is probably easier to read with the `--patience` flag (at least I find the patch obviously good in that form): -- snipsnap -- diff --git a/builtin/fsck.c b/builtin/fsck.c index 4e8e2ee..b1b6c60 100644 --- a/builtin/fsck.c +++ b/builtin/fsck.c @@ -451,28 +451,29 @@ static void fsck_dir(int i, char *path) static int default_refs; +static void fsck_handle_reflog_sha1(unsigned char *sha1) +{ + struct object *obj; + + if (!is_null_sha1(sha1)) { + obj = lookup_object(sha1); + if (obj) { + obj->used = 1; + mark_object_reachable(obj); + } + } +} + static int fsck_handle_reflog_ent(unsigned char *osha1, unsigned char *nsha1, const char *email, unsigned long timestamp, int tz, const char *message, void *cb_data) { - struct object *obj; - if (verbose) fprintf(stderr, "Checking reflog %s->%s\n", sha1_to_hex(osha1), sha1_to_hex(nsha1)); - if (!is_null_sha1(osha1)) { - obj = lookup_object(osha1); - if (obj) { - obj->used = 1; - mark_object_reachable(obj); - } - } - obj = lookup_object(nsha1); - if (obj) { - obj->used = 1; - mark_object_reachable(obj); - } + fsck_handle_reflog_sha1(osha1); + fsck_handle_reflog_sha1(nsha1); return 0; } -- 1.8.5.2.msysgit.0.4.gd08ed18 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html