Hi, It seems that we introduced a bug in the interactive conflict resolver in 1.8 (and later) that is a regression vs. 1.7. It segfaults on a NULL pointer for conflicts in binary files.
>From what I could find out is that for binary files, the conflict resolver description doesn't actually set the IS_BINARY flag but that doesn't seem to be the core problem. Rather, the conflict skel does not provide a path for the local modification and the MY_ABSPATH element in the descriptor remains NULL and causes the segfault. The attached script demonstrates the problem and the .patch file provided a workaround that is not a proper fix. Select either "df" or "m" at the 'resolve' prompt. -- Stefan^2.
Index: subversion/svn/conflict-callbacks.c =================================================================== --- subversion/svn/conflict-callbacks.c (revision 1643589) +++ subversion/svn/conflict-callbacks.c (working copy) @@ -714,9 +714,12 @@ handle_text_conflict(svn_wc_conflict_res *next_option++ = "p"; if (diff_allowed) { - *next_option++ = "df"; + if (desc->my_abspath) + *next_option++ = "df"; + *next_option++ = "e"; - *next_option++ = "m"; + if (desc->my_abspath) + *next_option++ = "m"; if (knows_something) *next_option++ = "r";
conflict-crash.sh
Description: Bourne shell script