Commits


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


use gmtime_r(3) instead of localtime_r(3) to display time in UTC as intended Problem noticed by naddy due to failing regress tests at midnight, and then analyzed with additional help from millert. ok naddy


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.


allow deletion of refs/remotes/ branches with got branch -d Also, make requirements for branch name arguments more flexible. Absolute reference names are now accepted. ok 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.


fix a use-after-free in get_changed_paths() in got and tog Once the parent commit is closed the tree_id1 pointer is no longer valid, but the pointer was still being used. Make a deep copy to fix this issue.


add 'got fetch -X' option for deleting references created by 'got fetch'


make got_ref_delete() report symbolic references as intended


in delete_ref(), only print progress output after deletion has succeeded


align messages printed by 'got fetch -d' with 'got ref -d' and -X options


make 'got ref -d' print reference name and value like the new -X options do


new -X option for removing backups created by got rebase and got histedit ok semarie


Make 'got add' always require the -I option in order to add ignored files.


mention 'gotadmin cleanup' wherever Git's garbage collector is mentioned


switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp


new -I option for 'got status' to show files which match an ignore pattern


check for close(2) error in got_repo_close() and propagate errors up ok tracey


diff: reduce duplicate code Condense error checking to reduce a future diff moving those lines around; this pattern is already used in other parts of the tree. fine stsp ok tracey


rebase/histedit -l: error out if no backups for the requested branch exist


fix strftime return value check; found by jrick


ensure that old commits remain referenced after rebase and histedit Create automatic "backup" references which ensure that objects from the pre-rebase or pre-histedit state remain in the repository. A new -l option for 'got rebase' and 'got histedit' lists old commits. This makes it easier to recover from botched rebase or histedit operations. Removal of such objects currently requires got ref -d and git-gc. This will be made more convenient in the future. testing and ok jrick


Fix strftime(3) short buffer checks strftime(3) returns 0 if the buffer was too short to write the complete string (including NUL) and will never return more than maxsize-1. ok stsp


include remote branches in the output of 'got branch -l' This makes it easier to discover the existence of copies of remote branches in the local repository, and fixes a missing asterisk in 'got branch -l' while the work tree is switched to a remote branch. Prompted by feedback from helg, thanks!


got info: fix a pasto in an error message