Commits


respect umask when creating or changing files and directories This behaviour is already documented in got-worktree(5) but wasn't actually implemented. ok stsp@


rebase.sh: remove accidentally included absolute path to "got"


add regression test which covers fast-forward rebase + path-prefix


forbid rebase of references outside the refs/heads/ namespace ok jrick


remove trailing whitespace; patch by Josiah Frentsos


don't undef GOT_AUTHOR in regress unset only in the subshell so further cose is unaffected. ok stsp@


do not require local author info during 'got rebase' My commit to reset committer info during rebase was too strict in some use cases. Even when simply forwarding a branch the rebase operation could now fail if GOT_AUTHOR is not set. To fix this, fall back on existing commiter information if no author is configured. And try to obtain author info from Git config in case GOT_AUTHOR is not set. Problems reported by Mikhail.


reset committer during rebase and histedit ok op@


leave work tree in a usable state after 'got rebase' fails path-prefix checks reported by naddy


use test(1) -eq and -ne to compare integers, and reduce quoting This brings the rest of the regression test scripts in line with patch.sh.


switch branches during noop rebases Always update to the specified branch even if the branch is already rebased (no commits needed to be rebased, and the branch does not need a fast forward). With the old behavior of erroring and staying on the current branch, I sometimes found myself ignoring the error message, treating it as information and assuming the branch update, and later on committing on top of origin/main instead of the main branch. feedback and ok stsp


ignore unversioned files while aborting rebase, histedit, merge or operations ok jrick


interrupt 'got rebase' upon missing/unversioned/not-deleted files


print additional stats about things that went wrong during a merge


use the POSIX-compliant "date -u" command to return UTC time; ok stsp