Commit Briefs
got: minor refactor of got_pathlist_free() API
Accept flag parameter to optionally specify which pointers to free. This saves callers looping through the list to free pointers. ok + fix stsp@
portable: add back sys/queue.h
Now that the handling of including sys/queue.h is better, there's no need to remove those lines from the source. Copy the location of those original sys/queue.h lines from upstream at the same line number, so as to avoid any conflicts in the future.
build with -Wwrite-strings
Throwing this into the mix for a while, we can always get rid of it again if it becomes annoying. No objections from stsp@
build with -Wmissing-prototypes
ok stsp@
got patch: allow to strip path components
Move some bits from the libexec helper to the main process so we know if the patch was generated by git or not and finally document the automatic stripping of a/ and b/ prefixes added by git-diff(1). ok stsp@
add O_CLOEXEC (close-on-exec) flag to open(2) calls
suggested by millert ok thomas_adam
portable: initial Linux compilation
This commit modifies the GoT main branch to be able to compile it under linux.
cope with directory entries returned from readdir(3) with type DT_UNKNOWN
Such directory entries need special handling to make our directory traversal code work on filesystems that do not support the d_type optimization. I found this problem because references stored in the refs/ directory were not shown by 'got log' and 'tog log' when a repository is mounted over NFS. helpful feedback + ok millert@
Avoid out of bounds access if path is "/".
From Martin <openbsd () academicsolutions ! ch> with tweaks by me. ok stsp