Commit Briefs
avoid gitwrapper printing a warning when /etc/gotd.conf does not exist
gotd still requires the config file, of course, but gitwrapper must treat is as optional and remain silent if the file cannot be found.
gitwrapper: execl() directly without fork()ing
Since we're going to unconditionally execute gotsh or git-*-pack, don't bother fork()ing and having the main process to wait(2), just execle()! ok stsp@
some formatting fixes for gitwrapper.1
- new sentence, new line - use Pa where needed - move ENVIRONMENT before FILES
add gitwrapper(1)
ok op@, tracey@ earlier version
portable: template: allow for YACC
As with the main got project, allow for template to use the YACC environment variable -- either directly, or indirectly if set via ./configure in the main got project.
portable: fix getopt check
Rather than always asserting our version of getopt(2), only do so if it lacks certain features. Some of the configure.ac changes have come from openssh-portable.
portable: release 0.86 (tags/0.86)
gotwebd: provide gotweb_render_page() entrypoint for all pages
simplify gotweb_process_request more, handling all the pages inside the big switch. There's only one entrypoint for rendering the templates gotweb_render_page() that takes the page' content as argument. The only real difference is that gotweb_render_index() now skips directory entries which fails to handle. ok tracey@
portable: autogen: remove AUTO{MAKE,CONF}_VERSION
When running the bootstrapping shell script autogen.sh, no longer set the AUTO{MAKE,CONF}_VERSION env vars. Although these were guarded and only set to default values on OpenBSD if they weren't already set, these should ideally be set by individual users on OpenBSD themselves. Different versions of OpenBSD could well have different versions.
handle files changing into directories during 'got update'
problem found by naddy@
gotwebd: handle short reads and timeouts
If a short read happens, or if all the fastcgi record to read don't fit in the buffer, gotwebd fails to continue reading and hits the timeout. If this happens before gotweb_process_request is called, it will crash in gotweb_free_transport since c->t will be NULL. This register the event with EV_PERSIST so fcgi_request is called again when there's more to read and guards gotweb_free_transport. It also makes spaces for the records as soon as they're successfully parsed. With lots of help from stsp ok stsp@
dial: fix quoting for git-shell
Escape the path to the repository when connecting via SSH. This is needed if the path contains spaces, quotes or other "funny" characters, but also by git-shell which requires the argument to be surrounded by single-quote characters. Issue with git-shell reported by James Cook, fix based on an initial diff by stsp@. ok stsp@
make diffing files which changed into dirs and vice-versa possible
Problem marked with a TODO comment by me ages ago and rediscovered by naddy@ ok op@
clone.sh: fix copy-paste error
`got log' is ran twice against $testroot/repo so log-repo and log-repo-clone are identical. Instead, run `got log' on the clone repo the second time. ok stsp@