Commit Briefs

c5dfdea5d3 Stefan Sperling

do not let got-read-pack paint parent commits which are not in its pack file (paint3)

If any parent commit of the current commit is missing, stop iterating and return control to the main process. Fixes a case where offloading to got-read-pack resulted in an effectively endless loop.


4a35cea75f Stefan Sperling

improve selection of pack files for pinning in the open pack file cache

If two given pack files contain the same amount of requested commits, prefer the pack file which contains the larger amount of total objects to increase our chances of full history traversal. Also, require the first element of the list of requested commits to be present in the pack file since the caller will very likely try to process this commit immediately when we return. This fixes cases where offloading of commit coloring to got-read-pack was ineffective, causing us to take the slow path instead.



f6a8483bc5 Stefan Sperling

sort commits not processed by got-read-pack properly




d2e93380ff Omar Polo

dedup copyrights

while here move millert@ to the authors too.


597afb0396 Omar Polo

gotwebd: avoid needless close

send_imsg() does a imsg_flush() too which will ensure the fd is sent over to the other process and close it on this side. If it fails we terminate anyway, so no need to close (doubly!) the fds.


ce6204164a Stefan Sperling

ensure that drops and skips get processed before keeps during commit coloring

This makes repainting parent commits unnecessary and seems to avoid cases where our coloring algorithm ran into worst case performance behaviour. ok op@


26261316a5 Stefan Sperling

remove code which repaints parent commits from commit coloring implementation

Two pack tests start failing. This will be fixed in the next commit. ok op@


9ed658f687 Omar Polo

gotwebd: avoid the pipe; forward the socket directly

Instead of keeping a pipe between the sockets and the gotwebd process, just forward the socket directly. This needs a little bit of care because once we enter process_request() the socket (possibly) no longer there, so on the socket side use the client_status as a flag to signal the caller that we're done. I hope to improve this in follow-ups. The motivation behind this is to avoid a (possible, but quite easily triggerable) race in the current code where the other side might process GOTWEBD_IMSG_REQ_DONE before draining the pipe, truncating the output page. ok stsp@


98958d75e9 Omar Polo

improve binary blob detection

just like the change just done in diff.git, consider a blob binary if it has any control character (except for the tabs) joint work with jtt@, ok stsp@


c1b420179b Omar Polo

sync files from diff.git 543aed44ef221a67c386d967ec45907fb129194b

improve binary files detection instead of 'just' looking for NUL, consider a file binary if it has any control charcters (except our beloved tabs characters). joint work with jtt@, ok stsp@


e5cbb211a3 Johannes Thyssen Tishman

preserve bad symlinks across merges

ok stsp@ and op@


40e36ce530 Omar Polo

fix math in fcgi_send_response

We can't hit actually hit this because our buffers are way smaller than FCGI_CONTENT_SIZE (65536) but if we were, we'd end up sending wrong fastcgi packets. found with / ok stsp@


3ced9adc82 Stefan Sperling

the gotsys auth/hmac index must be globally unique, not unique per repository

tested by Mischa Peters


8c7f82a788 Stefan Sperling

fix gotsysd using wrong auth and hmac labels in the generated gotd.conf

Problem reported by Mischa Peters





60a4d49e93 Christian Weisgerber

fix potential type mismatch between format specifier and argument

Cast argument of type uint64_t to unsigned long long to match the %llu format specifier on platforms where this might not be the case. ok thomas


64af9ac04d Christian Weisgerber

regress: replace "sed -i" with ed(1) for portable in-place editing

"sed -i" is fundamentally unportable. GNU and OpenBSD sed(1) treat the extension for the backup file as an optional argument and use "sed -i" for no backup file. FreeBSD sed(1) treats the extension as an obligatory argument and uses "sed -i ''" for no backup file. There is no single syntax that works for both.


d7677e54e3 Stefan Sperling

bump version number


19a06f5a74 Stefan Sperling

CHANGES for 0.116 (tags/0.116)


3a34ebda2e Stefan Sperling

sync dist file list