Commit Briefs

Thomas Adam

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@



Thomas Adam

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@


Thomas Adam

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.




Thomas Adam

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



Thomas Adam

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




Thomas Adam

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


Thomas Adam

regress: fix test failures using ln(1)

GNU ln uses -T instead of -h for no-target-directory. OK thomas.adam




Stefan Sperling

fix bogus error when 'got cherrypick' merges changes into a locally added file

reported by + ok naddy


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.


Stefan Sperling

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!


Stefan Sperling

add tests for the bug fixed in commit 1fee9f40e2ed335d4ec8899954b59b43990b97c3

one of these tests is still failing; there is another edge case left to fix



Christian Weisgerber

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

ok stsp


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


Stefan Sperling

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.