In the merge code: fold notify_merge_begin() into its only caller, and
rename that caller to notify_merge_begin(). And then call this function
also for skips and tree conflicts.

Without this you could have skip, tree conflict followed by an header,
followed by more details

This must fix some regression...

Somehow this patch makes some merge tests more vulnerable to ordering
problems.

* subversion/libsvn_client/merge.c
  (merge_cmd_baton_t): Add boolean. Remove nrb inner struct and some vars.
  (notify_merge_begin): New forward define.

  (record_skip,
   record_tree_conflict): Call notify_merge_begin. Remove const from baton.

  (record_operative_merge_action): Remove prototype.

  (record_update_add,
   record_update_update,
   record_update_delete): Update caller.

  (notify_merge_begin): Fold this function into record_operative_merge_action.
  (notify_merge_completed): Don't update variables to their +- defaults.

  (record_operative_merge_action): Rename to ...
  (notify_merge_begin): ... this. Use a boolean instead of a counter. Simplify
    logic and notify directly.

  (do_file_merge,
   do_mergeinfo_unaware_dir_merge,
   flag_subtrees_needing_mergeinfo,
   record_mergeinfo_for_dir_merge): Update baton usage.

  (do_mergeinfo_aware_dir_merge): Update baton usage. Reset header state.
  (do_directory_merge): Update baton usage.
  (do_merge): Initialize header state.

* subversion/tests/cmdline/merge_tests.py
  (merge_target_selection): Update expected result of tree conflicted only merges.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1441186 13f79535-47bb-0310-9956-ffa450edef68