Commit Briefs
read_gitconfig: fix GOT_IGNORE_GITCONFIG case
set gitconfig_remotes to NULL to avoid a double-free, and reset the global author name/email fields too. ok stsp@
got_repo_pack_fds_close: don't close(0)
got_repo_pack_fds_close will try to close all of the GOT_PACK_NUM_TEMPFILES fds, even the ones that didn't manage to get a value from got_opentempfd(), which would result in a close(0) if we do not initialize to -1 here.
Make sure got_repo_pack_fds_close() frees a malloc'ed pointer.
Found by llvm's scan-build (bad free). OK stsp
Don't chug along if repo format version is unsupported.
Found by llvm's scan-build (dead store). OK stsp
move got_opentempfd out of got_repo_open. ok stsp@
thanks for all the help massaging this diff
properly swap cached struct pack array elements in got_repo_cache_pack()
Avoids clobbering open files for delta base/accumulation, leaking file descriptors, and triggering errors from close(2) during got_repo_close() as we try to close the same file descriptor more than once.
open temporary files needed for delta application in got_repo_open()
This prepares for callers of got_repo_open() that cannot afford to open files in /tmp, such as gotwebd. In a follow-up change, we could ask such callers to pass in the required amount of open temporary files. One consequence is that got_repo_open() now requires the "cpath" pledge promise. Add the "cpath" promise to affected callers and remove it once the repository has been opened. ok tracey
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list. ok op@