Commits


CHANGES for 0.48


close file handles before freeing other things in got_worktree_close() The work tree's path needs to be valid while constructing error messages.


fix missing close(2) error check in got_worktree_close()


make close(2) failure checks consistent; check 'close() == -1' everywhere ok millert, naddy


make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere ok millert, naddy


add missing braces around multi-line if-statement in got_worktree_close()


fix a use after free() ok jrick stsp


let 'got clone' write gitconfig directives that match the generated got.conf


fix 'tog blame' segfault upon empty input file; reported by + ok naddy


expand coverage of test_update_single_file: test file deletion during update


fix copy-pasta in test_update_single_file


fix bug where 'got up -c commit path' deleted unrelated files from work tree Problem reported by Timo Myyrä


add a 'reference' directive to remote repositories in got.conf(5) Make use of this in 'got clone' to persist -R option arguments given on the command line in the cloned repository's got.conf(5) file.


remove 'tog ref' todo item; pointed out by naddy


document that 'got clone -a' sets 'fetch-all-branches' in got.conf(5)


add a 'fetch-all-branches' configuration setting to got.conf(5) Set fetch-all-branches in the got.conf(5) file created by 'got clone -a' in order to make a future 'got fetch' act like 'got fetch -a' by default.


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


store all branches passed via 'got clone -b' in got.conf(5) and git-config(1)


silence a printf in our gitconfig parser; this code shouldn't print to stdout


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.


oops, initialize linesize before calling getline(3); from millert


replace fparseln(3) with getline(3), for better portability ok stsp


tog log: terminate author field at '>' in case there is no '@' ok stsp


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