Commit Briefs

1124fe406f Stefan Sperling

handle pack index files which lack a corresponding pack file

ok millert



159a21e5a6 Stefan Sperling

increase pack index cache size from 16 to 64 to improve performance

This can make a huge difference on repositories which contain more than 16 pack files, at the expense of additional open file handles. My test case was a ports.git repository with > 60 pack files (these accumulate due to 'got fetch', and 'git repack -a' would condense them). With cache size 16 'got update' in /usr/ports took more than 60 seconds. With cache size 64 the same command took less than 5 seconds. The root cause is probably that mapping and unmapping large files over and over again is expensive on OpenBSD.


6d5a9006ab Yang Zhong

add fd field to got_repository, modify got_packidx_open to use fds

These changes are intended to make got more compatible with FreeBSD's Capsicum. ok stsp


20b7abb3fa Stefan Sperling

detect unknown repository format extensions (such as sha256 format)

ok millert



257add310e Stefan Sperling

add got.conf(5) configuration file

ok tracey





cd95becd3d Stefan Sperling

parse remotes from gitconfig





f6912001af Stefan Sperling

spawn more pack file helpers again now that leaks got fixed

/usr/src updates have become slower for some reason and my best guess is that caching of packed data has become less effective with df613bb4d8662c28a9888714a80ca572bff9d924 (leaks were subsequently fixed by 2cb49fa8fb84f3a8fc2eb6036a6bd9b64c57e347 and by 0dd5271bd8f2a4f92ac3536fcc493eebc39b86e5)


df613bb4d8 Stefan Sperling

fork less pack file readers to avoid running into ulimits




05e1230b0e Stefan Sperling

rename got_commit_object_mini to got_mini_commit_object


e32baab7e1 Stefan Sperling

add an object cache for mini commits


eb46335738 Stefan Sperling

reduce pack cache size; avoids opening more than 128 fds


6bef87be90 Stefan Sperling

move object cache out of repository.c to its own file


876c234bd6 Stefan Sperling

start reading pack files with privsep; still WIP


1510f46981 Stefan Sperling

move pack caching code from pack.c to repository.c


3516b818d9 Stefan Sperling

init ibuf only once for the lifetime of a privsep child