Commits


move encode_delta() in pack_create.c to eliminate a forward declaration


while packing, store encoded deltas in a temporary file instead of in memory


limit delta chain length in newly created pack files to 32 deltas Our former limit was 128 which is fairly high. Git uses 50 by default. A smaller limit results in slightly larger pack files but makes both packing and unpacking faster.


raw object blocksize and read buffer were unused; remove them


remove unused internal raw object API functions


cache raw objects in order to speed up gotadmin pack


reuse temporary files which were not used by got_object_raw_open()


add missing calls to got_repo_close() in gotadmin.c


add missing error checks in got_object_raw_open()


avoid opening delta base objects in genpack() just to find their size


FreeBSD's ed(1) does not accept "0i"; use the equivalent "1i" instead


encode deltas in temporary files to avoid high memory usage


make got-build-regress.sh run tests a second time with GOT_TEST_PACK=1


rework murmurhash2() to avoid potential unaligned memory access pointed out by naddy@ ok millert@


fix two more error strings in pack_create.c using the wrong function name


fix wrong function in error string of emitdelta()


use RB_TREE instead of STAILQ to manage packindex bloom filters; much faster


sync dist file list


do not skip ignored directories in 'got status' if they contain tracked files Fixes regression introduced by commit 41f061b2f459318f3738f59d7676efccc4beb344 where tracked files inside an ignored directory were reported as missing.


use a bloom filter to avoid pointless pack index searches


fix pack index cache element rotation; keep often used entries near the front


sort and de-duplicate work tree path command line arguments This is important in cases like 'got diff file.txt file.txt' which should only show the diff for file.txt once. suggested by kn@


fix a segfault in edscript() introduced by my previous commit Found by our cherrypick regression tests.


fix merging of files which contain a dot on a line by itself Annoying bug which we inherited from OpenRCS which inherited it from OpenBSD's diff3 program. ok tracey millert


speed up 'got histedit -l' and 'got rebase -l' Cache commit timestamps in struct got_reference in case we are sorting references by commit timestamp. This avoids opening and closing commits every time we compare two references with each other. ok thomas.adam