read_loose_refs(): treat NULL_SHA1 loose references as broken
commit501cf47cddfbf8040b6f9b8ac06d13094a70f729
authorMichael Haggerty <mhagger@alum.mit.edu>
Wed, 3 Jun 2015 13:51:59 +0000 (3 15:51 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Jun 2015 17:35:41 +0000 (8 10:35 -0700)
tree64d8e2187d0dc508da8b916a205b8cfe6d893418
parentf5517074f8f5cecc773b2ff927be4a059f2c9db0
read_loose_refs(): treat NULL_SHA1 loose references as broken

NULL_SHA1 is used to indicate an "invalid object name" throughout our
code (and the code of other git implementations), so it is vastly more
likely that an on-disk reference was set to this value due to a
software bug than that NULL_SHA1 is the legitimate SHA-1 of an actual
object.  Therefore, if a loose reference has the value NULL_SHA1,
consider it to be broken.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c
t/t6301-for-each-ref-errors.sh