Commit Briefs
ignore SIGWINCH while polling in the main process
Avoids an error where tog(1) would exit with "poll: Interrupted system call" while the terminal window was being resized. ok millert
got.1: make double-quotes appear in the rendered man page as intended
Patch by Nam Nguyen
add tests for the bug fixed in commit 1fee9f40e2ed335d4ec8899954b59b43990b97c3
one of these tests is still failing; there is another edge case left to fix
fix 3-way merge of files which lack a final \n
problem found by jrick ok millert
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.
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
when reading a pack index byte-swap fields at compile-time where possible
suggested by mpi@ ages ago
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.