Checkout
rhuijben
committed
on 03 Jan 13
Make the new in 1.8 arbritary node diff just another driver of the diff
callback api instead of using internal diff apis to produce some nic… Show more
Make the new in 1.8 arbritary node diff just another driver of the diff

callback api instead of using internal diff apis to produce some nice output.

This allows reusing this walker for features like the --summarize support.

* subversion/include/private/svn_client_private.h

 (svn_client__arbitrary_nodes_diff): New function.

* subversion/libsvn_client/diff.c

 (get_props,

  do_arbitrary_files_diff,

  arbitrary_diff_walker_baton,

  arbitrary_diff_walker,

  do_arbitrary_dirs_diff,

  arbitrary_diff_walker,

  do_arbitrary_nodes_diff): Move to diff_local.c

 (diff_wc_wc): Remove the arbritrary diff detection from here to ...

 (do_diff): ... its caller, here. Trigger behavior from working-working

   revision instead of overloading base-working diff in diff_wc_wc.

   Reinstate the check for unsupported specific revisions from <= 1.7

   in diff_wc_wc, instead of always running the arbritrary diff.

* subversion/libsvn_client/diff_local.c

 New file, based on diff.c

 (do_arbitrary_files_diff): Remove ignore properties and force binary code.

   This is handled by the diff callbacks.

* subversion/svn/diff-cmd.c

 (svn_cl__diff): Request working working diff.

Show less