Commit Briefs

5b971887f7 Omar Polo

sockets_launch: simplify listen() handling (main)

* clean up the SOCKS_BACKLOG versus SOMAXCONN usage * factor out just one listen() call * slightly improve the logging by showing the socket "name" too. ok stsp@


28ad1c18bb Stefan Sperling

make gotsysd-managed repositories readable for the _gotd group

This allows making the repositories readable by other user accounts, such as _gotwebd, by adding those users to the _gotd group.



4389a9e5b0 Stefan Sperling

make commit notifications only show the part of history unique to the branch

When a new branch is created, show all commits added on the branch relative to the HEAD branch, instead of showing just the tip commit. When branch history is changed with got send -f or git push -f, limit history traversal to a common ancestor with the HEAD branch, instead of walking the entire history until a root commit is found. Stacked branches will still show some extra history until they hit HEAD. This can be improved later. ok op@


37f7dbf5f0 Stefan Sperling

move gotwebd fcgi record parsing into a dedicated process under pledge "stdio"

ok op@


6f4eae6964 Stefan Sperling

set gotwebd pledges according to address families of listening sockets

We were implicitly relying on "inet" to provide "unix". Be more specific. ok op@


bb32659f46 Stefan Sperling

fix parallel processing of requests in gotwebd

Run just one server process per server declared in gotwebd.conf, instead of running additional server processes based on the "prefork" setting. The extra servers weren't actually used since they would all wake up together, only one of them would manage to accept a connection, and the others would fail wtth EWOULDBLOCK go back to sleep instead of handling other connections. Having a single listening process dispatch request across gotweb processes in a round-robin fashion actually allows requests to be processed in parallel as intended. We currently use a round-robin scheme which can still cause some requests to wait for a busy worker. This will be improved later. The "prefork" setting now only controls the number of gotweb workers which will be started. ok op@



0f01ac5d81 Stefan Sperling

make 'tog diff' show the repository name in names of patches written to /tmp

ok op@


a906b277aa Omar Polo

got_pack_paint_commits: simplify error handling

ok stsp@


2d67dc3aa7 Stefan Sperling

bump version number


fcf073d26e Stefan Sperling

CHANGES for 0.117 (tags/0.117)


67e1bc0534 Stefan Sperling

make 'got clone' set a got.conf default branch for fetching only, not sending

This will make 'got send' default to the work tree's current branch or the HEAD reference if not invoked in a work tree, rather than defaulting to sending the default branch found while cloning. Issue pointed out by op@ ok op@


8df39a000d Stefan Sperling

add a gotsysd regress target which rebuilds binaries in the VM

Makes it easier to keep the same VM running for manual testing while tweaking the code.


01f07c49d0 Stefan Sperling

gotsysd regress: run make clean in the template directory, else build can fail

Without make clean we would end up running a template binary built on the host system, which won't run in case libc.so is out sync between host and VM.


f4dfd84991 Thomas Adam

regress: git: don't load global/home configs

When running git(1) commands as part of the test suite, disallow git(1) from loading either the global or home gitconfig file. This has the ability to mess with the test and how they're setup. Each test already sets its own config so this is the preferred option anyway. OK stsp@


a0923235a9 Stefan Sperling

add a todo item for a bug observed in gotd


12f5a70b8d Stefan Sperling

better fix for long loop bug during commit coloring with offloading

Repaint already queued commits in the main process instead of removing them from the queue. Otherwise we may never converge to a state where all commits are marked as skipped. Instead such commits can inherit color keep and we'll keep on asking got-read-pack to paint more commits for a very long time. ok op@



106bfc0e07 Stefan Sperling

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

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. ok op@


b46b8f0972 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. ok op@


fff7e4bcba Stefan Sperling

hack for got_privsep_recv_painted_commits() to sort queue by color

ok op@


f0f5557675 Stefan Sperling

sort commits not processed by got-read-pack properly

ok op@


a96e9e6e17 Stefan Sperling

pass an exact copy of queued IDs to got-read-pack during commit coloring

ok op@


6bc787f0d1 Stefan Sperling

add functions which transport object ID queues across the imsg layer

ok op@