Commit Briefs
Release 0.64 (tags/0.64)
portable: remove queue.h
queue.h is included portably, so it shouldn't be included directly.
portable: enable merge.sh
This seemingly went walkies, so reenabling it.
regress: make merge.sh more POSIXy
Don't use '==' for equality matching in sh, as this won't work across all shells. ok @naddy
portable: running tests when shell is dash
Ubuntu's default shell is dash, when using /bin/sh. The portable nature of got is such that "$OSTYPE" to determine the host type (linux, bsd, etc.) is bash-specific and is not part of POSIX. autotools already provide a mechanism for determining the underlying platform type, and PLATFORM is already a subst value. Therefore, let the -portable parts of the regress test-suite use $PLATFORM to look at the underlying OS type. The tests themselves already expect /bin/sh to be POSIX-compliant in all other areas, so there should be no need to change the #! lines.
regress: cleanup: bypass sed wrapper
The sed portable wrapper works for inplace editing, but isn't required for just a single stream.
regress: make test operands POSIX compliant
Since the interpreter for the regress shell scripts are using /bin/sh this will usually imply some level of POSIX compliance (that isn't bash-specific, for instance). Some systems use dash as their sh shell and as such is stricter POSIX compliance. To help -portable, make the shell test checks use a single '=' for equality, rather than '=='.
switch tog ref view's sort order command key to "o" instead of "s"
The letter "o" does not overlap with existing options of 'got ref' and is also used by mutt(1) for this purpose.
portable: include worktree_open
Make worktree_open part of the build.
fall back to comparison by name when refs have the same timestamp
This fixes an issue where some references were missing from lists of references sorted by timestamp.
let gotadmin find the repository automatically if invoked in a work tree
Move a small amount of code from worktree.c to a new file worktree_open.c, which contains everything required to open and close a work tree and inspect some of its basic parameters. This can be used by gotadmin. ok tracey
Fix mandoc HTML rendering for command aliases
Replace hand-rolled parentheses with the proper mdoc(7) macro, otherwise the closing ")" ends up inside the command description. Reported by Josh Rickmar, thanks!
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