It's supposed to test the returned file type, not think that read_sha1_file()
tests it. Confusion from "cat-file" command line usage.
void *new;
unsigned long size;
long wrote;
void *new;
unsigned long size;
long wrote;
- new = read_sha1_file(ce->sha1, "blob", &size);
- if (!new) {
+ new = read_sha1_file(ce->sha1, type, &size);
+ if (!new || strcmp(type, "blob")) {
fprintf(stderr, "checkout-cache: unable to read sha1 file of %s (%s)\n",
ce->name, sha1_to_hex(ce->sha1));
return -1;
fprintf(stderr, "checkout-cache: unable to read sha1 file of %s (%s)\n",
ce->name, sha1_to_hex(ce->sha1));
return -1;