Commits


use time-based rate-limiting for gotadmin progress output Suggested by naddy some time ago. ok tracey


use up to 128 delta chain elements again; creates smaller packs at same speed


try only 3 delta base candidates instead of 10 to speed up packing Tests by kn, thomas_adam and myself made on various repositories indicate that 3 is a good choice. Tyring 10 deltas is much slower and does not result in significantly smaller pack files.


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


cache raw objects in order to speed up gotadmin pack


reuse temporary files which were not used by got_object_raw_open()


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


encode deltas in temporary files to avoid high memory usage


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


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


fix 'got send' with tree objects which contain symlinks; reported by Omar


make 'got send' properly send commits which are referenced only by tags Problem reported by Omar Polo.


fix 'got send' adding too many objects to the pack file in some cases Load server-side tags before loading local commits. Otherwise objects which are reachable via server-side tags will not be filtered out.


add 'got send' command for sending changes to remote repositories Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.


fix miscalculation of the final pack file size reported by got_pack_create()


cache object type in memory to speed up packing of objects referenced by tags


fix out-of-bounds access in 'gotadmin pack'; wrong array pointer in read_meta()


switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp


fix imsg header includes in pack_create.c


implement gotadmin pack, indexpack, and listpack commands


initial port of git9's pack file creation code to gameoftrees; thank you, Ori!