Commit Briefs

Omar Polo

regress: use seq instead of jot

This is just for -portable since jot is not always available. ok stsp@


Stefan Sperling

adjust expected output to make 2 failing gotd regression tests pass

The repo_write process still announces HEAD twice, once with its symref target and once with the resolved symref object hash. I cannot recall if this is deliberate but let's accept it for now to avoid test failures being flagged due to this issue, which is mostly cosmetic.



Stefan Sperling

make gotd avoid a "failed to push some refs" error from no-op 'git push'

gotsh was sending errors such as "unexpected end of file" and "unexpected flush-pkt" to the client when the client disconnected immediately after receiving reference announcements from the server. As a result, 'git push' with both sides up-to-date would show an obscure error message: = [up to date] main -> main error: failed to push some refs to 'ssh://example.com/git/repo.git Now we see: = [up to date] main -> main Everything up-to-date ok jamsek


Stefan Sperling

fix spurious empty packfile error from gotd when rewinding a branch

ok op@


Omar Polo

extend test_delete_branch

- try to delete using git - try to delete multiple branches in one go - verify the ref-list reported by the server before and after the deletion suggested / ok stsp


Omar Polo

gotd: implement the delete-refs capability

Allow clients to run "got send -d" against gotd. Clients will send a zero-id as new id for a reference and, in the special but more common case of just deleting and not updating, no pack file will be sent. ok and tweaks by stsp@


Stefan Sperling

gotd: fix "bad packfile with zero objects" error while creating branches

Clients will send an empty pack file if they are only creating new references and have no objects to upload. Make gotd handle this and add a regression test which triggers the bug. Problem found by op@. The new regression test caught an unrelated issue where the client connection was left lingering after references had been updated, which made 'got send' followed by 'got clone -l' fail with the connection limit configured for the test suite (just one connection is allowed at a time). Fix this as well. ok op@


Stefan Sperling

fix an issue where gotd fails to accept multiple have-lines from clients

ok op, jamsek


Stefan Sperling

fix an issue where multiple ref-updates are rejected by gotd

ok op@


Stefan Sperling

tweak a gotd regress test to cover incremental 'got fetch'

Previously the gotd tests were only running fresh clones.