Commit Briefs
NUL-terminate empty logmsg buffer for strlcat(3)
Because the logmsg output buffer was not NUL-terminated after allocation, strlcat(3) could append log message contents copied from the temporary file at a wrong memory location. In the case observed by me, this bug resulted in a broken commit object.
make 'got update' bump the base commit ID of unchanged files
This change makes it actually possible to get around commit-time out-of-dateness by running 'got update'. The test added with this commit shows that our out-of-dateness check is currently too simplistic; an update is required between any two commit operations! It would be better to allow commits to proceed until a situation arises where file content must be merged.