Hi,

attached is a different approach to resolve the conflict resolution issue based on stsp's suggestion. The patch was tested against 1.9.x as well as trunk without triggering any test failures. It was also tested manually against TSVN 1.9.4 to confirm it resolves the conflict resolution issue there.

[[[
Resolves the error case for binary file conflicts selecting to use the full
local version, by allowing using the local file, if no merged file is present.

* subversion/libsvn_wc/conflicts.c
  (build_text_conflict_resolve_items): in case mine_abspath is null, take
                                       local_abspath instead in case of
svn_wc_conflict_choose_mine_full

Suggested by: stsp
]]]


For the record: I certainly think that investigating Bert's idea to not require setting an install path, if nothing needs to be installed, sounds like a better approach, but this also seems to require more work due to the test failures the previous patch triggered.

--
Regards,
Stefan Hett

Index: subversion/libsvn_wc/conflicts.c
===================================================================
--- subversion/libsvn_wc/conflicts.c    (revision 1755499)
+++ subversion/libsvn_wc/conflicts.c    (working copy)
@@ -1623,7 +1623,14 @@
         }
       case svn_wc_conflict_choose_mine_full:
         {
-          install_from_abspath = mine_abspath;
+          /* In case of selecting to resolve the conflict choosing the full
+             own file, allow the text conflict resolution to just take the
+             existing local file if no merged file was present (case: binary
+             file conflicts do not generate a locally merge file).
+          */
+          install_from_abspath = mine_abspath
+                                   ? mine_abspath
+                                   : local_abspath;
           break;
         }
       case svn_wc_conflict_choose_theirs_conflict:

Reply via email to