Commit Briefs
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 '=='.
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
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
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