Though not "normal", I think a bare repo can have an index,
and vice verse C Git does not complain much if there is no
index in a non-bare repo. It's even possible to commit, so
I the you should simply consider the non-precense of an index files as it being empty (EmptyTreeIterator).