Commits


show the path of a lock file when locking it fails before: gotadmin: lockfile timeout after: gotadmin: gc.pid.lock: lockfile timeout


add a lock for the cleanup operation This adds the functions got_repo_cleanup_prepare() and _complete() to lock/unlock the repository to prevent multiple `gotadmin cleanup' or `git gc' operations to run in parallel. improvements and ok stsp@


portable: configure: split out dependencies Rather than assume all dependencies are required for all programs, split them out. This will make packaging easier, as well as splitting the code to use subprojects. Note that due to the use of config.h semantics, in most cases the got_compat.h header file is now at the top of the .c file it is included in, so that it can handle the system header inclusion properly.


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.


add O_CLOEXEC (close-on-exec) to openat(2) calls suggested by millert ok thomas_adam


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.


allow lockfiles to be used in cases where we have a dir_fd and a relative path


make close(2) failure checks consistent; check 'close() == -1' everywhere ok millert, naddy


rename got_error_prefix_errno() to got_error_from_errno()


got_error_from_errno -> got_error_prefix_errno also add got_error_prefix_errno2 and got_error_prefix_errno3 which should hopefully all be merged into a single function with variadic args (but can't alloc mem)


make got path APIs available to library consumers


inline open(2) flags in got_lockfile_lock()


fix allocation size bug in got_lockfile_lock()


fix bug in got_lockfile_lock() where it never succeeded


add a lockfile API