Commits


do not pledge 'got integrate' in a PROFILE=1 build found by jrick on freenode


allow an interrupted 'got clone' to be resumed by 'got fetch' Set up config files as soon as possible such that 'got fetch' has enough information in order to resume an interrupted clone operation. We need to receive at least a default HEAD branch name from the server before we can set up our configuration files. The previous code also verified whether the default branch name supplied by the server resolved to a commit received in the pack file. This check cannot be done early but a wrong branch name in a config file can be fixed easily.


refactor code which creates config files for 'got clone' using helper functions


fix default branch name written to Git config file by 'got clone' The generated Git config file instructed Git to fetch all branches rather than the default branch as was intended. Check generated configuration files in all clone tests in order to catch such problems in the future.


let 'got clone' try to connect to server before creating repository contents


trim leading slashes from repository path written to got.conf (found by naddy)


make dangling symbolic references show up in 'got ref -l' Storing a resolved ID for each reference list item was a bad idea. This ID cannot be resolved if a symbolic references points to a reference which does not exist. Such symrefs were skipped by got ref -l as a result. Just let users of reference lists resolve the IDs as needed.


in cmd_checkout() handle basename(3) modifying its argument ok naddy@


fix typo in error message


plug memory leaks in error paths while collecting log messages


check for errors from write(2) and close(2) while collecting log messages


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


use plain write() in place of dprintf() with a pre-formatted string step-by-step guidance from millert; ok millert stsp


zap trailing tabs


add got.conf(5) configuration file ok tracey