Commit Briefs
cache a list of known pack index files when the repository is opened
Avoids overhead due to readdir calls while searching a pack index. ok op@
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
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.
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
add got.conf(5) configuration file
ok tracey