Commit Briefs

3770e05568 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.


c4b45c8d3d Thomas Adam

portable: gitignore: add gitwrapper


0edd41e7ce Thomas Adam

portable: README: installation of gitwrapper

Document the installation and packaging of gitwrapper for -portable


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


e0b6d366f2 Thomas Adam

portable: mismerge in serve_write()


1636f5f125 Thomas Adam

portable: gotd: re-enable chroot

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


5033341e89 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


d358e4e42e Thomas Adam

portable: getprocname: program_invocation_short_name

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


4efc8dcb17 Thomas Adam

portable: gotd/gitwrapper: update for libs

Bring gotd and gitwrapper closer to how libraries are detected.


0f431d34f9 Thomas Adam

portable: gotd: EXTRA_DIST


4abb076fc9 Thomas Adam

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


febe25b7cf Thomas Adam

portable: gotd: listen

Include listen.c; make it portable.


e24c4959f1 Thomas Adam

portable: handle gotd/auth


40de210a71 Thomas Adam

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

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


52daa6ad93 Thomas Adam

portable: build gotsh when --enable-gotd passed

When building gotd, also build gotsh.


2f1efc186f Thomas Adam

portable: enable compiling gotd

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


14dab6fc9f Thomas Adam

bump version number


2ee2b2692e Thomas Adam

CHANGES for 0.92


2becf66303 Thomas Adam

sync files from diff.git dc306c6bd88271ab911e205539974da98be82d17

This restores the traditional diff -p behaviour in Got.


484d974bd6 Thomas Adam

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@


ce775af4ec Thomas Adam

add a test case which removes a missing locally-added file

Based on a patch by gonzalo@ ok op@


97f9158ff1 Thomas Adam

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@


720b08bca9 Thomas Adam

prevent a double-free in got_worktree_commit

If creating the /tmp display diff for a commitable item failed we would free the commitable item while it was already on the path list. Later on when the path list was freed in got_worktree_commit() a double-free would be detected and the program would be aborted. Found by gonzalo@ ok op@


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


7477a2d224 Thomas Adam

plug line_offsets leak in tog blame view; ok op@