Commits


Release 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 '=='.


sync dist file list


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.


add got branch -t option to sort listed branches by modification time


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.


add got ref -t option to sort listed references by modification time


make tog use got_reflist_sort() instead of reloading refs while sorting them


implement got_reflist_sort() which sorts a ref list in-place


fix uninitialized error from got_ref_cmp_by_commit_timestamp_descending()


allow sorting references by timestamp in tog


preverse binary files during updates and merges


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


gotweb does not actually use anything from worktree.c or fileindex.c


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!


document new 'got rebase' behaviour when commits do not need to be rebased


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


remove unused variables to fix LLVM 13 warnings; ok stsp


use up to 128 delta chain elements again; creates smaller packs at same speed