Commits


work around spurious ACK responses from git servers in got-fetch-pack The Git server can apparently send duplicate ACK responses even though we do not enable the multi_ack capability. According to the Git protocol docs the server should only send ACKs after receiving 'done' from the client if multi_ack has been enabled. However, a duplicate ACK response can be triggered by running 'got fetch -a' in our fetch_update_tag test. This resulted in the following error: got-fetch-pack: unknown side-band received from server got: bad packet received


allow the 'got fetch' -l option together with the -q option Make use of this in tests to hide useless output from ssh(1).


make 'got clone' pin the fetched branch in got.conf(5) Avoids relying on the server-side HEAD ref by default during future fetches.


use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA


properly handle nonexistent remote repository names given to 'got fetch' found by jrick ok naddy


switch function declarations from Korn shell to Bourne/POSIX shell syntax ok stsp


add per-worktree got.conf(5) file in the .got directory; ok millert


add a -q option to tests for quiet output and use it for 'make regress' Previous default output remains when test cases are run individually. ok tracey


fix expected output in clone and fetch tests


make 'got fetch' restore our copy of the remote HEAD if the copy was deleted


make 'got fetch -d' delete branches from both refs/heads and refs/remotes


make 'got fetch' update our copy of the remote HEAD in case it has changed


make 'got clone' create refs/remotes/origin/HEAD, as 'git clone' does


add -c option to 'got ref' which now expects just one argument after options


make replacing symrefs actually work in 'got fetch'


fail test_fetch_reference properly if fetch succeeds unexpectedly


add support for fetching arbitrary references to 'got clone' and 'got fetch'


prevent existing tags from being overwritten by 'got fetch' by default


set executable bit on clone.sh and fetch.sh


add tests for 'got clone' and 'got fetch'; requires 'ssh 127.0.0.1' to work