Commits


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


simplify the error message shown when 'got rebase' has nothing to do


add 'got commit -F' option to commit with a log message stored in a file To avoid accidents commit -F opens the prepared log message in an editor so it can be reviewed before the commit is created. For non-interactive use the -N option is required in addition to -F. ok millert@


in 'got clone', allow -l together with -q, for consistency with 'got fetch'


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


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


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.


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.


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