Commit Briefs

67ba616121 Stefan Sperling

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

reported by naddy


49c543a6fe Christian Weisgerber

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.


3d42b26601 Josh Rickmar

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


41f061b2f4 Stefan Sperling

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

ok jrick





a966211500 Christian Weisgerber

add missing "return 1" to failure handling in the regress scripts

ok stsp@



643b85bcb4 Stefan Sperling

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

ok semarie


54d5be0776 Stefan Sperling

fix unrelated changes being merged by got cherrypick/backout/rebase/histedit

This was a long-standing and very annoying bug. The two xfail tests in the cherrypick test suite are passing now.



e600f1246e Stefan Sperling

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




a615e0e779 Stefan Sperling

implicitly mark all files in work tree as up-to-date after rebase/histedit

This should always be correct, since rebase and histedit start out with a clean and single-base-commit worktree, and end up committing all changes across the entire work tree when they are successful. tested by jrick and myself


f6cae3ed1e Christian Weisgerber

switch function declarations from Korn shell to Bourne/POSIX shell syntax

ok stsp


7fb414ae4d Stefan Sperling

add a -q option to tests for quiet output and use it for 'make regress'

Previous default output remains when test cases are run individually. ok tracey


70551d57b9 Stefan Sperling

add a test for rebase file index corruption problem fix in previous commit

ok tracey


9627c110be Stefan Sperling

show a summary of conflicts and related problems after updating/merging files

ok millert@





a0ea4fc07b Stefan Sperling

show merged commit ID + logmsg upon merge conflict during rebase and histedit

This makes it more apparent which commit contained the conflicting change. The new output looks like this: C sys/dev/pci/if_iwm.c 8a98d848a1a5 -> merge conflict: properly modify station queues got: conflicts must be resolved before rebasing can continue


da76fce2df Stefan Sperling

let 'got branch' switch and update the work tree

ok tracey