Commit Briefs


Thomas Adam

introduce got_path_move_file(); based on code from lib/patch.c

ok op@



Thomas Adam

check for unlink(2) errors in got_opentempfd()

ok op@


Thomas Adam

check for unlink(2) errors with the == -1 idiom, rather than != 0

ok op@


Thomas Adam

move got_opentempfd() call out of got_pack_create()

Future gotd(8) needs to run got_pack_create() in a chroot environment, so we can no longer open new temporary files inside got_pack_create(). ok op@


Thomas Adam

make got_pack_create() write to a file descriptor instead of a stdio FILE

The old code required a seekable output file. This conflicts with requirements of future gotd(8), which will write pack file data to network sockets. ok op@


Thomas Adam

simplify the way 'got patch' opens a tempfile when reading from stdin

Also add basic test coverage for reading patches from stdin, while here. ok op@



Thomas Adam

portable: handle sys/tree.h

Unfortunately, MacOS doesn't provide sys/tree.h -- so the compat check for this must happen portably.


Thomas Adam

portable: regress: order lib files

For those tests which rely on compilation files, order them alphabetically so it's easier when having to change the makefile stanzas.


Thomas Adam

portable: check for sys/tree.h more fully

When checking for sys/tree.h on non-BSD systems, either it will be in the standard include path (such as on MacOS), or it won't be found, until libbsd is overlayed. In cases where we want to find sys/tree.h via libbsd, perform a AC_CHECK_DECL for a known #define in sys/tree.h -- which will still find sys/tree.h in either location, or uses compat/tree.h in all other cases.


Thomas Adam

portable: remove sha1.h include

This is searched for portably.




Thomas Adam

move declaration of got_privsep_child out of got_lib_privsep.h

This declaration is the only reason why got_lib_privsep.h must be included in order to use got_lib_repository.h. Moving this declaration will allow for cleaning up unnecessary includes of got_lib_privsep.h.


Thomas Adam

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.



Thomas Adam

move functions which open objects into new file object_open_privsep.c

For the future, this will make it possible to provide alternative implementations of functions now stored in object_open_privsep.c. This will probably be needed by future gotd(8) which runs inside a chroot(2) environment and without the "exec" pledge(2) promise, making it impossible to run libexec helpers on the fly. Details of this design are not yet settled, but moving functions into a separate compilation unit won't hurt in any case.





Thomas Adam

sync usage with reality

The -h and -V/--version flags must be given before the command; with those flags the command is actually optional, but don't over-complicate the usage string with these nitpicks. ok/improvements stsp@


Thomas Adam

gotwebd.conf: add syntax for defining macros and document them

macros are already supported by parse.y but can only be defined with the -D flag. This adds the ``usual'' syntax for macros: varname = string. While here, fix the markup of the -D flag in the SYNOPSIS and sync the global `grammar' yacc rule with other parse.y grammars in base: - add the /* empty */ comment - increment file->errors on errors ok stsp@, "sure, go for it" tracey@


Thomas Adam

disallow integrating into references outside refs/heads/

Spotted by stsp@ while considering a feature request for cmd_integrate. ok stsp@