Commit Briefs

2e9bd5cb1a Thomas Adam

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@


a928faa132 Thomas Adam

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@


870ddae51f Thomas Adam

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@


6f59b577b0 Thomas Adam

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@


04dafe6d48 Thomas Adam

portable: READMEs: update linux -> portable

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


0529f8df6d Thomas Adam

support histedit fold operations which delete a file and then add it again

problem found by naddy@ ok op@


b8bfb3f853 Thomas Adam

portable: maintscript: update to portable branch

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


da1b528cac Thomas Adam

fix gotd sending too large pack files in some cases (linux)

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


67fdb8a7a3 Thomas Adam

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


5713faaf58 Thomas Adam

portable: update READMEs


e6d0edca5f Thomas Adam

portable: set next version


00d6d36174 Thomas Adam

portable: release 0.85 (tags/0.85)


8cff5e95a3 Thomas Adam

portable: OpenBSD compilation fixes


68069cf601 Thomas Adam

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.


d3f1e38b5d Thomas Adam

portable: curses: improve detection

When checking for ncurses, don't clobber previous checks for libpanel.


7ef51333b7 Thomas Adam

portable: cleanup headers

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


206be139b5 Thomas Adam

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 configure.ac script.


d9b944c72d Thomas Adam

portable: add missing header checks

Some code in compat/ has #defines which were not being checked for in configure.ac, which could have lead to compilation failures were those files to be included on systems which needed them. In doing so, we can now remove libmd and libcrypto as these are no longer needed.


40d5394383 Thomas Adam

portable: configure: use SHA_2{,56}_H

Don't use a custom variable when the header checks for these are already available. From Christian "naddy" Weisgerber.


c2417a8ec6 Thomas Adam

portable: alpine: include stdlib.h

Because musl is less forgiving about header-ordering, explicitly include this before stdio.h -- this won't affect existing files as the include guards elsewhere prevent this.


09e05ed50d Thomas Adam

portable: regress: imply compat

When building tests, compat needs to be built. Do this prior to running any tests. This ensures tests can be run from a clean tree. Furthermore, add got_compat.h to all test headers. This wasn't necessary before as this was implicitly being included, but now isn't.


943e9ed21c Thomas Adam

portable: configure: flatten LIBS

Set LIBS to the empty string so that only the specific dependencies are included where needed, rather than relying on autotools to do this for us. This will make splitting out got into different subprojects easier, as well as allow for multi-packing on those systems which support it.


1ef7c68a19 Thomas Adam

portable: extend got_compat2 include guard

Extend the include guard to the whole file.


4fccd2fe0f Thomas Adam

portable: configure: split out dependencies

Rather than assume all dependencies are required for all programs, split them out. This will make packaging easier, as well as splitting the code to use subprojects. Note that due to the use of config.h semantics, in most cases the got_compat.h header file is now at the top of the .c file it is included in, so that it can handle the system header inclusion properly.


b49d4941c8 Thomas Adam

portable: Makefile: add -Wno-pointer-sign

Ignore warnings about pointer-signedness. This may well get fixed upstream, but won't hurt to be left here, regardless.