Checkout
Julian Foad
committed
on 06 Jul 18
Reduce coupling between diff drivers and diff writers.

Let diff drivers anchor the diff-processor at the requested target paths,
rather tha… Show more
Reduce coupling between diff drivers and diff writers.

Let diff drivers anchor the diff-processor at the requested target paths,

rather than sometimes there and sometimes at the parent of one of them, in

summarize mode. The quirky anchoring still persists in non-summarize mode.

* subversion/libsvn_client/diff.c

 (diff_driver_info_t): Expand comments.

 (diff_wc_wc,

  diff_repos_repos,

  diff_repos_wc): Remove 'root_relpath' and 'root_is_dir' outputs; instead

   anchor the diff processor at the requested targets if no 'ddi' coupling

   parameter is given.

 (do_diff,

  svn_client_diff7,

  svn_client_diff_peg7,

  svn_client_diff_summarize2,

  svn_client_diff_summarize_peg2): Update the calls accordingly.

* subversion/libsvn_client/diff_local.c,

 subversion/libsvn_client/client.h

 (svn_client__arbitrary_nodes_diff): Remove 'root_relpath' and 'root_is_dir'

   outputs. Take an 'anchor_at_given_paths' mode flag and obey it.

* subversion/libsvn_client/diff_summarize.c,

 subversion/libsvn_client/client.h

 (summarize_baton_t,

  send_summary): Remove path adjustment.

 (svn_client__get_diff_summarize_callbacks): Remove path adjustment and

   an unused parameter.

* subversion/libsvn_wc/diff_local.c,

 subversion/include/private/svn_wc_private.h

 (svn_wc__diff7): Remove 'root_relpath' and 'root_is_dir' outputs. Take an

   'anchor_at_given_paths' mode flag and obey it.

 (svn_wc_diff6): Update the call to svn_wc__diff7() accordingly.

Show less