portable: release 0.86

bump version number

CHANGES for 0.86

gotwebd: reply with non-200 HTTP status code on error ok tracey@

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, 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.

add test case for 'got update' changing a directory into a file

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@ 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@

portable: READMEs: update linux -> portable The default branch in -portable has changed from linux -> portable, and so the documentation needs updating as well.

support histedit fold operations which delete a file and then add it again problem found by naddy@ ok op@

portable: maintscript: update to portable branch Now that the former "linux" branch is being retired, change the portable sync script to reference "portable".

fix gotd sending too large pack files in some cases Make gotsh pass all have-lines sent by clients onwards to gotd, reducing size of pack files generated by the repo_read process. Problem reported by naddy@ ok jamsek

Close the message template file before calling edit_logmsg(). Fixes a race condition on NFS where the file's modify time may change while the file is being edited, causing the editor to complain. OK stsp

portable: update READMEs

portable: set next version

portable: release 0.85

portable: OpenBSD compilation fixes

portable: fixes for NetBSD * Move the main incldue/got_compat.h to the top of the files they're included in. * Define SHA256Init and friends to the system equivalents.

portable: curses: improve detection When checking for ncurses, don't clobber previous checks for libpanel.

portable: cleanup headers Remove useless headers which don't need to be included any longer.

portable: improve b64_ntop detection When looking for base64 functions, check -lresolv and/or -lnetwork, and only build those in compat if required. Some of the detection code was modified from tmux's script.