portable: release 0.92

portable: gotd: fix dist file inclusion When running 'make dist', include the correct chroot-*.c file.

portable: configure: echo gotd/gitwrapper paths 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.

portable: make gitwrapper --enable-gotd aware There's no point installing gitwrapper outside of enabling gotd, as this is only used by gotd.

portable: gitignore: add gitwrapper

portable: README: installation of gitwrapper Document the installation and packaging of gitwrapper for -portable

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.

portable: mismerge in serve_write()

portable: gotd: re-enable chroot Reads (git clone) are working but writes (git push) run into an error

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

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

portable: gotd/gitwrapper: update for libs Bring gotd and gitwrapper closer to how libraries are detected.

portable: gotd: EXTRA_DIST

portable: got{ctl,sh}: add missing files

portable: gotd: listen Include listen.c; make it portable.

portable: handle gotd/auth

portable: enable gotctl (via --enable-gotd) This builds gotctl, for the moment via --enable-gotd

portable: build gotsh when --enable-gotd passed When building gotd, also build gotsh.

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

bump version number

CHANGES for 0.92

sync files from diff.git dc306c6bd88271ab911e205539974da98be82d17 This restores the traditional diff -p behaviour in Got.

prevent overlapping repo and work tree in 'got checkout' Some people are eager to try to make Got work just like Git by overlaying the repository and work tree. This causes problems with unveil conflicts at run-time. Fail as early as possible during 'got checkout' when users attempt this. cosmetic tweaks + ok op@

add a test case which removes a missing locally-added file Based on a patch by gonzalo@ ok op@

fix deletion of missing locally-added files If a locally added file in A status gets deleted from disk it will move into missing ! status. If the user then decides to delete the file we must remove the file index entry immediately rather than flagging the file for removal during the next commit operation. The file was never committed and lacks a base-blob and base-commit, so it cannot be removed during the next commit. As a result the commit operation was reporting a bogus "out of date" error. Found while diagnosing a related bug reported by gonzalo@ ok op@