BASE file: [[[ void svn_stream_set_buffered(svn_stream_t *stream, svn_io_is_buffered_fn_t is_buffered_fn) { stream->buffered_fn = buffered_fn; } ]]]
WORKING file: [[[ void svn_stream_set_buffered(svn_stream_t *stream, svn_io_is_buffered_fn_t is_buffered_fn) { #ifdef SVN_UNDEFINED_MACRO_NAME stream->buffered_fn = buffered_fn; #endif } ]]] THEIRS file: [[[ void svn_stream_set_is_buffered(svn_stream_t *stream, svn_io_is_buffered_fn_t is_buffered_fn) { stream->is_buffered_fn = is_buffered_fn; } ]]] Resulting text conflict: [[[ void svn_stream_set_is_buffered(svn_stream_t *stream, svn_io_is_buffered_fn_t is_buffered_fn) { <<<<<<< .mine #ifdef SVN_UNDEFINED_MACRO_NAME stream->buffered_fn = buffered_fn; ======= stream->is_buffered_fn = is_buffered_fn; >>>>>>> .r1130503 #endif } ]]] It seems to me that the #endif should be included in the top hunk of the conflict too. (And, anyway, I expected the #ifdef and #endif to either both be in the hunk or both be outside the hunk.)