Commit Briefs

Stefan Sperling

introduce 'gotadmin info'




Stefan Sperling

do not update symlinks which are already up-to-date

This fixes spurious 'U' notifications for symlinks during 'got update' that occurred even when the work tree was fully up-to-date. Observed on a work tree of the FreeBSD src repo and reproduced in our test suite by adding a no-op update at the end of a test which deals with updating symlinks.



Stefan Sperling

bump version number


Stefan Sperling

CHANGES for 0.52 (tags/0.52)




Klemens Nanni

diff: reduce duplicate code

Condense error checking to reduce a future diff moving those lines around; this pattern is already used in other parts of the tree. fine stsp ok tracey


Stefan Sperling

when reading a pack index byte-swap fields at compile-time where possible

suggested by mpi@ ages ago



Stefan Sperling

fix off-by-one in got_repo_cache_pack()


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.


Stefan Sperling

fix error checking in dial_ssh()