Commit Briefs

Thomas Adam

add an initial implementation of gotadmin dump

gotadmin dump is used to export (part of) the history of the repository; at the moment it only generates git bundles (which are pack files with a header) but support to generate a fast-import stream is planned. ok/tweaks stsp and jamsek


Thomas Adam

plug a leak in insert_sendable_ref error path

from op@


Thomas Adam

simplify lib/send.c reference handling

Reorganize the reference validation and pathlist generation by removing the reflist and building a pathlist directly. The pathlist entries record the object id in their extra data pointer, which also allows several redundant reference lookups to be skipped. This will eventually simplify sending target reference names that do not match the local repo by adding another parameter to insert_sendable_ref for a remote reference. This remote name will be added to the pathlist, but validation and object id lookups will continue to be performed with the local reference. ok jamsek


Thomas Adam

remove 'got merge -M' todo item



Thomas Adam

Make got_worktree_get_base_ref_name static

Nothing appears to benefit from this being non-static, and it was missing from the public API headers as well. ok stsp@


Thomas Adam

Define apply_umask earlier, without predeclaration

ok op@




Thomas Adam

fix option processing for 'got merge'

Don't make -C imply -c (a break statement was missing). Detect -an and -cn conflicts. Simplify by removing unneeded check for conflicting -aC (since -C requires -c, we can rely on the -ac conflict being detected). Update the man page to say -cC is allowed.


Thomas Adam

add -M option: tell got merge not to fast-forward

ok stsp@


Omar Polo

sync imsg with base


Thomas Adam

portable: set next version


Thomas Adam

portable: release 0.90 (tags/0.90)


Thomas Adam

bubble up got_repo_commits()

now that got_get_repo_commits() doesn't look at `action' we can stop fetching the commits during the rendering and bubble up the call. This yields better error messages and better replies codes on failure.



Thomas Adam

Revert "portable: HOST_NAME_MAX"

This reverts commit 0835bf10ee863d91a617270780cd79c405c6a992.


Thomas Adam

use _POSIX_HOST_NAME_MAX from <limits.h> for portability

ok stsp


Thomas Adam

bump version number


Thomas Adam

CHANGES for 0.90



Thomas Adam

fix cleanup progress reporting output


Thomas Adam

show the path of a lock file when locking it fails

before: gotadmin: lockfile timeout after: gotadmin: gc.pid.lock: lockfile timeout


Thomas Adam

simplify gotwebd' server matching

Currently, if there is not a match on the server name, it attempts to match the "subdomain" against the server names, and fall back to the first server defined. The server name is taken from the SERVER_NAME fastcgi' parameter, the subdomain extracted from HTTP_HOST. Keep only the SERVER_NAME matching, but still use the first server defined if there's no match. Fix the manpage documenting how matching works and drop the lie about SNI as gotwebd doesn't do TLS but just looks at what the upstream http server decided. ok stsp@


Thomas Adam

gotd: wait asynchronously for children termination

Instead of the current kill() + waitpid(WNOHANG), manage the subprocesses in a separate queue and handle SIGCHLD. A timer is installed to ensure that misbehaving subprocesses are still killed. Fixes the current "child PID 0 terminated" logs due to races with waitpid(). Issue initially reported by Josiah Frentsos. ok + tweaks stsp@