Commits


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.


portable: tree/queue header fixes sys/{tree,queue}.h are looked up via configure, and therefore are included via that mechanism.


Revert "cache raw objects in order to speed up gotadmin pack" This reverts commit c565dfd37a157bab9556aceac96ff27d64525fc9.


cache raw objects in order to speed up gotadmin pack


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


portable: update to handle bloom, etc Update portable to support changes for bloom, etc.


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


portable: add FreeBSD support This adds the capability to compile got-portable on FreeBSD.


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


portable: initial Linux compilation This commit modifies the GoT main branch to be able to compile it under linux.


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