Commits


preverse binary files during updates and merges


fix merging of files which contain a dot on a line by itself Annoying bug which we inherited from OpenRCS which inherited it from OpenBSD's diff3 program. ok tracey millert


add an xfail test for a bug in merging content with a dot on a line by itself


print additional stats about things that went wrong during a merge


allow bad symlinks to survive a merge Commands which perform merges will now install bad symlinks as symlinks in the work tree, instead of creating them as regular files. This means bad symlinks committed with 'got commit -S' (or Git) will be preserved. The decision to introduce a bad symlink is done at commit-time and merges should not forcefully reverse this decision. The cherrypick and backout commands require a manual commit step, and a merge result with bad symlinks will require use of 'got commit -S'. Additional testing by thomas adam


regress: fix test failures using ln(1) GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam


add test which covers a cherrypick merge from a branch to itself


add a test case which covers 'got cherrypick' in a mixed-commit work tree


fix bogus error when 'got cherrypick' merges changes into a locally added file reported by + ok naddy


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.


add an xfail test for a cherrypick bug where unrelated changes get merged The test case I am using here is a bit large but I could not yet find a way to make it smaller. If someone knows a smaller test case, please let me know. naddy caught a small bug in the new test code I had written, thanks!


add tests for the bug fixed in commit 1fee9f40e2ed335d4ec8899954b59b43990b97c3 one of these tests is still failing; there is another edge case left to fix


use POSIX [s1 = s2] syntax instead of [s1 == s2]; patch by Ryo ONODERA


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


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


fix spurious 'got cherrypick' error with a path prefix and an empty tree If the work tree's path prefix does not exist in the first of the two trees, then 'got cherrypick' failed with "no such entry found in tree". But this is a legitimate situation, as shown in the new test added here. The first tree could be the empty tree, for example, which should result in 'got cherrypick' adding all files from the second tree instead of complaining about a non-existent path-prefix directory in the first tree.


remove the symlink conflict header feature; it causes noise for little benefit


forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them


handle additional symlink conflicts and report skipping of unversioned files


preserve unversioned files when merging added symlinks


restore unversioned file test case in test_cherrypick_symlink_conflicts One part of current behaviour is to delete an unversioned file and replace it with a symlink; that's very bad in case the user wants to keep the file.


test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this


handle symlink conflicts by installing a file that contains conflict markers


add cherrypick test for symlink conflict cases This test accepts the current behaviour, even though the current behaviour isn't ideal in some cases.


add symlink support to 'got cherrypick'; test non-conflict cases only for now