Commits


fix deltas with trailing data that is smaller than the minimum chunk size


allow the delta base file to lose its header between deltify_init and deltify This simplifies pack file creation. A delta base could be read from a loose object, a packfile, or it might be available in a temporary file. All these cases can now be handled the same way. We may need to open, close, and re-open a given delta base multiple times while packing.


check for errors from emitdelta() in got_deltify()


handle fseek in got_deltify() instead of in stretchblk(); simplifies the code


Allow for skipping the base object header in got_deltify().


in addblk(), only read data into buffer1 if we will compare it to buffer2 suggested by and ok naddy@


addblk() may seek in its input file; reposition the file pointer afterwards


addblk: iterate over the correct number of entries after growing the array ok naddy


addblk: be more careful about expanding the blocks array when we outgrow it fixes + ok naddy


check a block's hash as well as its length before expensive comparisons suggested by + ok naddy, and Ori agrees


allow got_deltify_free(NULL); will be needed by 'gotadmin pack'


deltify.c: explicitly include <endian.h> for be64toh()


substantial rewrite of deltify.c; operate on plain files only


fix off-by-one error in delta length; from ori git9 commit fbb2fb7c87d8edf58e22c84f575853dc9de79ac4


first pass over deltify.c: adapt coding style and data types; make it compile