Commits


always show commit or tree IDs in diff header, in order to help 'got patch' The idea is that got patch can simply look for a line such as: commit - abcde1234567... to find the merge base commit ID to show in diff3 conflict markers. got log -p now displays commit IDs in its diff header, instead ofl tree or blob IDs. ok op@


set `ret' in a few places where it was forgotten; ok tracey@


don't pass $ret to test_done on failure when it's known to be zero Otherwise the test directory it's not left in place; ok tracey@


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.


simpler fix equivalent to the previous commit


make test_cherrypick_root_commit pass with GOT_TEST_PACK=1


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


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


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