in lib/grit/git-ruby/git_object.rb [132:146]
def type
case @mode & S_IFMT
when S_IFGITLINK
@type = :submodule
when S_IFLNK
@type = :link
when S_IFDIR
@type = :directory
when S_IFREG
@type = :file
else
raise RuntimeError, "unknown type for directory entry"
end
end