From: Junio C Hamano Date: Fri, 7 Jul 2017 17:02:42 +0000 (-0700) Subject: Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk X-Git-Tag: v2.14.2~59^2~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=be5982a7945f661c89447feb56a27fbeb6028791;p=thirdparty%2Fgit.git Merge branch 'jk/reflog-walk-maint' into jk/reflog-walk * jk/reflog-walk-maint: reflog-walk: include all fields when freeing complete_reflogs reflog-walk: don't free reflogs added to cache reflog-walk: duplicate strings in complete_reflogs list reflog-walk: skip over double-null oid due to HEAD rename --- be5982a7945f661c89447feb56a27fbeb6028791 diff --cc reflog-walk.c index ed99437ad2,ba72020fc3..081f89b70d --- a/reflog-walk.c +++ b/reflog-walk.c @@@ -252,13 -259,15 +259,15 @@@ void fake_reflog_parent(struct reflog_w do { reflog = &commit_reflog->reflogs->items[commit_reflog->recno]; commit_reflog->recno--; - logobj = parse_object(reflog->ooid.hash); + logobj = parse_object(&reflog->ooid); } while (commit_reflog->recno && (logobj && logobj->type != OBJ_COMMIT)); - if (!logobj && commit_reflog->recno >= 0 && is_null_sha1(reflog->ooid.hash)) { + if (!logobj && commit_reflog->recno >= 0 && is_null_oid(&reflog->ooid)) { /* a root commit, but there are still more entries to show */ reflog = &commit_reflog->reflogs->items[commit_reflog->recno]; - logobj = parse_object(reflog->noid.hash); + logobj = parse_object(&reflog->noid); + if (!logobj) - logobj = parse_object(reflog->ooid.hash); ++ logobj = parse_object(&reflog->ooid); } if (!logobj || logobj->type != OBJ_COMMIT) {