On 5/20/07, Junio C Hamano <junkio@xxxxxxx> wrote:
"Marco Costalba" <mcostalba@xxxxxxxxx> writes: >> > if (offset >= 0) { >> > + >> > + if (desc->size - oldsize - offset == 0) /* end of file? */ >> > + newsize -= trailing_added_lines; >> > + >> > int diff = newsize - oldsize; >> > unsigned long size = desc->size + diff; >> > unsigned long alloc = desc->alloc; >>
Sorry I forgot to mention that that is "trivial" so there is no reason to resend. I don't expect me doing much git stuff for the rest of the day, but you'll hear from me about this patch later (hopefully it would appear on 'next' -- we'll see).
Ok. Thanks for your help. P.S: I don't find a trivial way to avoid adding more lines then removed, the shortest trick I can find is int eof = (desc->size - oldsize - offset == 0); int diff = newsize - oldsize - eof * trailing_added_lines; unsigned long size = desc->size + diff; unsigned long alloc = desc->alloc; newsize -= eof * trailing_added_lines; But is not as elegant as the original. - 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