Commit Briefs
use sub-second precision when checking for objects/pack/ modification
Convert from st.m_time (second-precision time_t) to st.m_tim (struct timespec). To compensate for the potential case where a filesystem provides resolution in seconds only, always read the directory if no pack files are known to exist. Otherwise, there is a race condition when gotd repo_write creates a new pack and a request arrives for repo_read shortly after. Caught by a regression test for gotd on empty repositories. Test failure pointed out by Mikhail. ok op@
portable: handle sys/tree.h
Unfortunately, MacOS doesn't provide sys/tree.h -- so the compat check for this must happen portably.
portable: remove sha1.h include
This is searched for portably.
move code for reading Git's config file into new file read_gitconfig_privsep.c
The end goal here is to remove the dependency of repository.c on privsep.c during compilation.