Commit Briefs
limit checks for merge conflicts to files affected by the merge
Performance problems reported by naddy
fix bogus error when 'got cherrypick' merges changes into a locally added file
reported by + ok naddy
Update comment regarding the merged_paths list used by rebase and histedit
with insight I obtained while trying to make this idea work, and failing...
disable ignore lists during status walks used by rebase and histedit
Fixes rebase of gotwebd branch which added a new directory which is also matched by .gitignore rules on the branch.
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
use Patience diff for merging during cherrypick/backout/histedit/rebase
This has been shown to prevent mis-merges in some cases. It's probably not a final solution. We should look at what Git's "recursive merge" is doing and implement something similar. Keep using Myers during update/unstage. The advantage of Myers is that it produces smaller conflict chunks, and there are no known cases of mis-merges which affect update/unstage.
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.
do not update symlinks which are already up-to-date
This fixes spurious 'U' notifications for symlinks during 'got update' that occurred even when the work tree was fully up-to-date. Observed on a work tree of the FreeBSD src repo and reproduced in our test suite by adding a no-op update at the end of a test which deals with updating symlinks.