Finally integrate two similar but not identical bits of code that both handle resolving text conflicts inside libsvn_wc, but with different limitations.
Finally integrate two similar but not identical bits of code that both
handle resolving text conflicts inside libsvn_wc, but with different
limitations.

* subversion/libsvn_wc/conflicts.c
  (remove_artifact_file_if_exists): Move this function up a bit.

  (eval_text_conflict_func_result,
   resolve_text_conflict): Integrate these old functions in this...
  (build_text_conflict_resolve_items): ... new function.

  (resolve_text_conflict): Add conflict skel argument.
     Use build_text_conflict_resolve_items.

  (svn_wc__conflict_invoke_resolver): Directly use the db operation instead
     of calling a helper function that invokes the resolver again. This makes
     the resolving an atomic operation.

  (remove_artifact_file_if_exists): Remove function here.
  (resolve_text_conflict_on_node): Remove function.

  (svn_wc__mark_resolved_text_conflict): Make code explicit by performing
    the basic operations directly.

  (conflict_status_walker): Use build_text_conflict_resolve_items. This
    resolves some previously documented limitations.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1658230 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion