Commits


attempt to kill http-server when tests exit abnormally


add a basic HTTP test for 'got send', expecting failure


allow remotes without urls in git config Also, add tests. This change lets got and related tools work when the git config file has "remote" sections without urls, like this one in one of my git-annex git repositories: [remote "h0-rsync"] annex-rsyncurl = (some url) annex-uuid = (some uuid) skipFetchAll = true Running tog and many got commands there would previously result in: $ tog got-read-gitconfig: gitconfig syntax error tog: gitconfig syntax error The change to got-read-gitconfig.c is by stsp@, with ok from op@ (and now me). Tests ok stsp@.


replace "(cd path && git cmd)" with "git -C path cmd" This matches the existing use of "got -r path cmd" and "git_commit path args".


fix test_send_config test directory name


fix sending merge commits; with a regression test by James Cook


show full URL during got clone/fetch/send discussed with and ok jamsek, stsp


got send: show server error Print the error message reported by the remote server when failing to update a branch (for e.g. because of a server-side check.) Reported by gonzalo@, with help and ok stsp@.


remove trailing whitespace; patch by Josiah Frentsos


move 'got init' command to 'gotadmin init' This functionality is better suited for gotadmin because it is technically a server-side repository operation when we consider the 'got' tool as the client-side tool. I have plans to move 'got import' into gotadmin as well. ok op@


set `ret' in a few places where it was forgotten; ok tracey@


don't pass $ret to test_done on failure when it's known to be zero Otherwise the test directory it's not left in place; ok tracey@


fix a bug in findwixt() which caused pack files with missing parent commits The 'nskip' variable is supposed to reflect commits which are waiting on the queue and have the 'skip' color. Only increment 'nskip' when adding such commits to the queue. Problem observed with got send -T and a tag pointing to a deleted branch. Test to reproduce the bug written by op@.


use test(1) -eq and -ne to compare integers, and reduce quoting This brings the rest of the regression test scripts in line with patch.sh.


fix regression where 'got send -T' failed if same tag already exists on server Problem reported and fix tested by Omar Polo.


fix 'got send' with tree objects which contain symlinks; reported by Omar


make 'got send' regression tests run 'git fsck' on all involved repositories


fix another instance of 'got send' sending branches the server already has


make 'got send' properly send commits which are referenced only by tags Problem reported by Omar Polo.


make 'got send' heed the branch {} options in got.conf(5); they were ignored ok naddy


provide separate send {} and fetch {} configuration blocks in got.conf Feature requested by naddy. ok naddy, who also suggested some tweaks that will arrive shortly


do not send a pack file when 'got send' is only deleting branches The git protocol spec says the client MUST NOT send a pack file if the only command used is 'delete'. Fixes 'got send -d' against Github's server which closed the session upon receiving the empty pack file we sent. This problem wasn't caught by regression tests since git-daemon does accept an empty pack file. Problem reported by jrick.


fix the output of 'got send -d' upon success Previous output was: Already up-to-date New output is: Server has deleted refs/heads/branch Check this behavour in the related regression test.


Use POSIX-compatible syntax in send.sh tests. Patch by naddy@


add 'got send' command for sending changes to remote repositories Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.