From: Shawn O. Pearce Date: Sun, 21 Dec 2008 22:11:49 GMT Subject: Re: [PATCH 2/2] fast-import: add special '-' blob reference to use the previous one. Message-ID: <20081221221149.GB17355@spearce.org> In-Reply-To: <1229825502-963-2-git-send-email-felipe.contreras@gmail.com> Felipe Contreras 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.