Hi,

basically a follow-up patch for the previous patch (resolving
--accept=working for binary conflicts).
Separate patch since this change is technically not necessary to resolve
the test failure the previous fix resolved.

[[[
For consistent behavior use the same conflict resolution option for binary
text conflicts (note: no behavior change, since for binary conflicts
merged_text and working_text is semantically the same).

* subversion/svn/conflict-callbacks.c
  (resolve_conflict_by_accept_option): use svn_conflict_option_working_text
  for binary text conflicts in svn_cl__accept_working case
]]]

Regards,
Stefan

Index: subversion/svn/conflict-callbacks.c
===================================================================
--- subversion/svn/conflict-callbacks.c (revision 1764640)
+++ subversion/svn/conflict-callbacks.c (working copy)
@@ -1812,6 +1812,7 @@
   const char *my_abspath = NULL;
   const char *their_abspath = NULL;
   const char *merged_abspath = svn_client_conflict_get_local_abspath(conflict);
+  const char *mime_type;
   svn_boolean_t text_conflicted;
   apr_array_header_t *props_conflicted;
   svn_boolean_t tree_conflicted;
@@ -1845,7 +1846,13 @@
       *option_id = svn_client_conflict_option_base_text;
       break;
     case svn_cl__accept_working:
-      *option_id = svn_client_conflict_option_merged_text;
+      {
+        mime_type = svn_client_conflict_text_get_mime_type(conflict);
+        if (mime_type && svn_mime_type_is_binary(mime_type))
+          *option_id = svn_client_conflict_option_working_text;
+        else
+          *option_id = svn_client_conflict_option_merged_text;
+      }
       break;
     case svn_cl__accept_mine_conflict:
       *option_id = svn_client_conflict_option_working_text_where_conflicted;

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

Reply via email to