tweak previous: when using so many words, might as well mention fetch

tweak the error message shown by 'got send' when ancestry has diverged The previous message steered users towards rebase; nowadays we also have a merge command and send -f. It's tricky to explain all possibilities of what to do next in a single line, but this is probably better than nothing.

show a more useful error when a reference name collides with another If a reference cannot be created because a file is present where a directory would need to be created to accomodate the new ref's name, report a name collision rather than an obscure mkstemps ENOTDIR error. issue found by Lucas

fix histedit -e bug where reverting all changes causes histedit -c cycles ok op@

adjust some SIZE_MAX checks; ok millert@

trim down the somewhat confused one-line description of gotwebd.8

bump version number

CHANGES for 0.100

sync dist file list

gotadmin sits in section 1, not 8

make got.1 point out all the companion tools for easy discovery by new users

reintroduce the 'got init' command as an alternative to 'gotadmin init' New users trying out Got for the first time have reported trouble with finding a way to create a new repository, based on their assumption that Got works like Git which provides a 'git init' command. It doesn't cost us much effort to keep this command available in both programs to make discovery a bit easier for new users coming from Git.

fix pack file transfers which do not use sidebands Found while running 'got clone' against a git9 server, after an unrelated issue was reported by Lucas on IRC, thanks! ok op@

plug 'got diff obj1 obj2' line metadata memory leak Despite API callers not requesting it, we collect line metadata due to NULL pointer checks missing a level of indirection. Reported by Kyle Ackerman. ok op and stsp

plug a leak in a few cmds: forgot to free(cwd) at the end spotted while investigating for another leak spotted by Kyle Ackerman. ok stsp@ and jamsek

gotwebd: avoid unnecessary strcmp in gotweb_assign_querystring()

gotwebd: lower the level of the qs ptr-to-ptr

gotwebd: remove previd and prevset query string parameter They're no longer used.

gotwebd: delete dead code at this point we can't know if the client has disconnected, we just finished parsing the fcgi parameters and started handling the reply. We'll know whether the client disconnected only later, while trying to send the page content.

gotwebd: use the last matching fastcgi parameter in case of multiple parameters with the same name, use the last matching one.

fix confusing error message from 'got commit' upon uncommitable paths

got{web,}d: handle multiple -v only fatal*() and log_warn*() are now logged by default. log_info() is hidden behind a -v and log_debug behind -vv. Makes gotd and gotwebd way less chatty. ok stsp@

gotwebd: use less temp files Instead of allocating a whole set of temp fd per `listen' directive, just use a global set per "sockets" process. This is fine since gotwebd doesn't keep multiple connections open at the same time, once it enters gotwebd_process_request() it won't exit until all the page has been processed. (this because we don't have async APIs for got operations.) ok stsp@

remove a redundant bounds check which gets elided by clang found by + ok op@

remove http client support from TODO list