Hi, I applied your patch on OSX and figured I would at least run the tests for you. Builds go OK, but the one of the tests fail and two other tests crash your patch applied. The crashes look the same in both cases.
Note, I have not run tests recently on this box, so I am not 100% certain the tests crash from your patch, but given that it is in diff code, it seems likely. Here is the test that fails and the output in tests.log: subversion/tests/svn_test_main.c:285: (apr_err=200006) svn_tests: E200006: Test crashed (run in debugger with '--allow-segfaults') FAIL: diff-diff3-test 6: 3-way merge, conflicting overlapping changes Here is the first crash. It is in merge_tests.py: EXCEPTION: SVNProcessTerminatedBySignal Traceback (most recent call last): File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 1288, in run rc = self.pred.run(sandbox) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/testcase.py", line 254, in run return self._delegate.run(sandbox) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/testcase.py", line 176, in run return self.func(sandbox) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/merge_tests.py", line 3216, in cherry_pick_text_conflict 0) # not a dry_run File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/actions.py", line 1014, in run_and_verify_merge exit_code, out, err = main.run_svn(error_re_string, *merge_command) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 591, in run_svn *(_with_auth(_with_config_dir(varargs)))) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 347, in run_command None, *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 509, in run_command_stdin *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 479, in spawn_process stdout_lines, stderr_lines, exit_code = wait_on_pipe(kid, binary_mode) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 445, in wait_on_pipe raise SVNProcessTerminatedBySignal SVNProcessTerminatedBySignal FAIL: merge_tests.py 27: cherry-pick a dependent change, get conflict And here is the crash output: 0 libsvn_diff-1.0.dylib 0x0000000100191956 svn_diff__resolve_conflict + 891 1 libsvn_diff-1.0.dylib 0x000000010019265c svn_diff_diff3_2 + 2508 2 libsvn_diff-1.0.dylib 0x0000000100196968 svn_diff_file_diff3_2 + 185 3 libsvn_wc-1.0.dylib 0x00000001000f2356 do_text_merge + 247 4 libsvn_wc-1.0.dylib 0x00000001000f39c8 merge_text_file + 565 5 libsvn_wc-1.0.dylib 0x00000001000f4cc2 svn_wc__internal_merge + 1300 6 libsvn_wc-1.0.dylib 0x00000001000f51a9 svn_wc_merge4 + 1032 7 libsvn_client-1.0.dylib 0x0000000100075944 merge_file_changed + 1946 8 libsvn_client-1.0.dylib 0x000000010009cf30 close_file + 1242 9 libsvn_delta-1.0.dylib 0x0000000100430b85 close_file + 136 10 libsvn_delta-1.0.dylib 0x0000000100430b85 close_file + 136 11 libsvn_repos-1.0.dylib 0x00000001001cf49c update_entry + 3070 12 libsvn_repos-1.0.dylib 0x00000001001cfe1a delta_dirs + 2406 13 libsvn_repos-1.0.dylib 0x00000001001d0368 drive + 1233 14 libsvn_repos-1.0.dylib 0x00000001001d0838 finish_report + 909 15 libsvn_repos-1.0.dylib 0x00000001001d0c9a svn_repos_finish_report + 37 16 libsvn_ra_local-1.0.dylib 0x00000001001a9b33 reporter_finish_report + 41 17 libsvn_client-1.0.dylib 0x000000010007c81c drive_merge_report_editor + 2251 18 libsvn_client-1.0.dylib 0x00000001000838af do_directory_merge + 2146 19 libsvn_client-1.0.dylib 0x00000001000845b5 do_merge + 2182 20 libsvn_client-1.0.dylib 0x0000000100089976 merge_peg_locked + 1720 21 libsvn_client-1.0.dylib 0x0000000100089a99 merge_peg_cb + 187 22 libsvn_wc-1.0.dylib 0x00000001000f1a78 svn_wc__call_with_write_lock + 145 23 libsvn_client-1.0.dylib 0x0000000100089c22 svn_client_merge_peg4 + 318 24 svn 0x0000000100011827 svn_cl__merge + 2744 25 svn 0x0000000100010bbb main + 11470 26 svn 0x00000001000016f8 start + 52 The other crash is in stat_tests.py: EXCEPTION: SVNProcessTerminatedBySignal Traceback (most recent call last): File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 1288, in run rc = self.pred.run(sandbox) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/testcase.py", line 176, in run return self.func(sandbox) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/stat_tests.py", line 1095, in status_add_plus_conflict branch_url, '-r', '4:5', trunk_dir) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/actions.py", line 268, in run_and_verify_svn expected_exit, *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/actions.py", line 306, in run_and_verify_svn2 exit_code, out, err = main.run_svn(want_err, *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 591, in run_svn *(_with_auth(_with_config_dir(varargs)))) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 347, in run_command None, *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 509, in run_command_stdin *varargs) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 479, in spawn_process stdout_lines, stderr_lines, exit_code = wait_on_pipe(kid, binary_mode) File "/Users/mphippard/work/src-trunk/subversion/tests/cmdline/svntest/main.py", line 445, in wait_on_pipe raise SVNProcessTerminatedBySignal SVNProcessTerminatedBySignal FAIL: stat_tests.py 22: status on conflicted added file And here is the crash output Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Thread 0 Crashed: Dispatch queue: com.apple.main-thread 0 libsvn_diff-1.0.dylib 0x0000000100191990 svn_diff__resolve_conflict + 949 1 libsvn_diff-1.0.dylib 0x000000010019265c svn_diff_diff3_2 + 2508 2 libsvn_diff-1.0.dylib 0x0000000100196968 svn_diff_file_diff3_2 + 185 3 libsvn_wc-1.0.dylib 0x00000001000f2356 do_text_merge + 247 4 libsvn_wc-1.0.dylib 0x00000001000f39c8 merge_text_file + 565 5 libsvn_wc-1.0.dylib 0x00000001000f4cc2 svn_wc__internal_merge + 1300 6 libsvn_wc-1.0.dylib 0x00000001000f51a9 svn_wc_merge4 + 1032 7 libsvn_client-1.0.dylib 0x0000000100075944 merge_file_changed + 1946 8 libsvn_client-1.0.dylib 0x000000010009cf30 close_file + 1242 9 libsvn_delta-1.0.dylib 0x0000000100430b85 close_file + 136 10 libsvn_delta-1.0.dylib 0x0000000100430b85 close_file + 136 11 libsvn_repos-1.0.dylib 0x00000001001cf49c update_entry + 3070 12 libsvn_repos-1.0.dylib 0x00000001001cfe1a delta_dirs + 2406 13 libsvn_repos-1.0.dylib 0x00000001001d0368 drive + 1233 14 libsvn_repos-1.0.dylib 0x00000001001d0838 finish_report + 909 15 libsvn_repos-1.0.dylib 0x00000001001d0c9a svn_repos_finish_report + 37 16 libsvn_ra_local-1.0.dylib 0x00000001001a9b33 reporter_finish_report + 41 17 libsvn_client-1.0.dylib 0x000000010007c81c drive_merge_report_editor + 2251 18 libsvn_client-1.0.dylib 0x00000001000838af do_directory_merge + 2146 19 libsvn_client-1.0.dylib 0x00000001000845b5 do_merge + 2182 20 libsvn_client-1.0.dylib 0x0000000100089976 merge_peg_locked + 1720 21 libsvn_client-1.0.dylib 0x0000000100089a99 merge_peg_cb + 187 22 libsvn_wc-1.0.dylib 0x00000001000f1a78 svn_wc__call_with_write_lock + 145 23 libsvn_client-1.0.dylib 0x0000000100089c22 svn_client_merge_peg4 + 318 24 svn 0x0000000100011827 svn_cl__merge + 2744 25 svn 0x0000000100010bbb main + 11470 26 svn 0x00000001000016f8 start + 52 -- Thanks Mark Phippard http://markphip.blogspot.com/