Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: > @@ -1862,7 +1864,7 @@ static void file_change_m(struct branch *b) > const char *endp; > struct object_entry *oe = oe; > unsigned char sha1[20]; > - uint16_t mode, inline_data = 0; > + uint16_t mode, inline_data = 0, empty_blob = 0; Its not the empty blob, its the inherited/assumed blob... > @@ -1893,6 +1895,10 @@ static void file_change_m(struct branch *b) > } else if (!prefixcmp(p, "inline")) { > inline_data = 1; > p += 6; > + } else if (!prefixcmp(p, "- ")) { > + hashclr(sha1); > + empty_blob = 1; > + p += 1; Hmph, so if create a new path with a blob of "-" the repository will be corrupt because the zero id was used and error was produced. Actually I think you have the same bug in the prior patch with the mode being inherited. I wonder if we shouldn't put error checking in too to validate that versions[0] describes a file entry. -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html