Commit Briefs

Thomas Adam

portable: configure: echo gotd/gitwrapper paths (ta/gotd)

When --enable-gotd is present, and gotd empty path or gitwrapper's git libexec path is set, print those out with the other information at the end of the configure script. "N/A" is set where no value is present. Helpful for debugging.


Thomas Adam

portable: make gitwrapper --enable-gotd aware

There's no point installing gitwrapper outside of enabling gotd, as this is only used by gotd.


Thomas Adam

portable: gitignore: add gitwrapper


Thomas Adam

portable: README: installation of gitwrapper

Document the installation and packaging of gitwrapper for -portable


Thomas Adam

portable: configure gitwrapper/gotd paths

Rather than hard-code assumptions into gitwrapper and gotd binaries, allow for some values to be overriden at compile time. This should help portability.


Thomas Adam

portable: mismerge in serve_write()


Thomas Adam

portable: gotd: re-enable chroot

Reads (git clone) are working but writes (git push) run into an error


Thomas Adam

portable: linux: use default git libexec

Define a standard path to where git stores its libexec helpers. This is always going to be hit-and-miss hard-coded like this, but will suffice for now. Tested on ubuntu 22.04


Thomas Adam

portable: getprocname: program_invocation_short_name

This is needed for gitwrapper which will fail if its program name cannot be detected properly.


Thomas Adam

portable: gotd/gitwrapper: update for libs

Bring gotd and gitwrapper closer to how libraries are detected.


Thomas Adam

portable: gotd: EXTRA_DIST



Thomas Adam

portable: gotd: listen

Include listen.c; make it portable.


Thomas Adam

portable: handle gotd/auth


Thomas Adam

portable: enable gotctl (via --enable-gotd)

This builds gotctl, for the moment via --enable-gotd


Thomas Adam

portable: build gotsh when --enable-gotd passed

When building gotd, also build gotsh.


Thomas Adam

portable: enable compiling gotd

This enables gotd -- for now, this is opt-in at compile-time, via: ./configure --enable-gotd


Thomas Adam

make gotd flush pending messages before disconnecting the client upon success

This prevents gotd from closing the client connection before ref-update status reports have been sent. Seen while testing gotd on Linux, though I see no obvious reason why this race would not trigger on OpenBSD.



Thomas Adam

tog: don't show the base commit marker in limit view

The limit commit queue is invariably filled with different commits to the queue containing all commits, so the index of the work tree's base commit in the real queue corresponds to a different commit in the limit queue. As such, the marker is drawn on an incorrect commit. Rather than fix this to draw the marker on the correct commit if it happens to be in the limit queue, don't draw the marker at all in limit view. As pointed out by Mikhail on the list, this information is not wanted in the limit view. Patch and report by Mikhail.


Thomas Adam

gotsh: do not set POLLOUT flag when there is no data to send

Prevent an endless polling loop on Linux where POLLOUT and POLLHUP can both be reported via pollfd revents.


Thomas Adam

don't include sys/cdefs.h

"thou shalt not include sys/cdefs.h because it is not standardized", and in this case is not really needed either.


Thomas Adam

document that the log -d option implies log -P

We did consider making -d and -P options conflict but doing so would not be very helpful. Instead, document -d as a superset of -P. ok op, jamsek



Thomas Adam

gotwebd: fix branches modification time with show_repo_age off

If show_repo_age is set to off, got_get_repo_age() returns without setting the timestamp. got_get_repo_age() is also used by the branch listing to show how old they are however, and we end up rendering the stack garbage. Instead, respect `show_repo_age off' one layer above, and always return a timestamp in got_get_repo_age(). While here, initialize the timestamp to zero so it's set also in case of failures. Issue reported on IRC by xs, thanks!