Commit Briefs



Thomas Adam

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


Thomas Adam

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




Thomas Adam

show full URL during got clone/fetch/send

discussed with and ok jamsek, stsp


Thomas Adam

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



Thomas Adam

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@



Thomas Adam

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@


Thomas Adam

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


Thomas Adam

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.


Thomas Adam

fix regression where 'got send -T' failed if same tag already exists on server

Problem reported and fix tested by Omar Polo.





Stefan Sperling

make 'got send' properly send commits which are referenced only by tags

Problem reported by Omar Polo.



Stefan Sperling

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


Stefan Sperling

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.


Stefan Sperling

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.



Stefan Sperling

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.