On 'hold' branch: teach 'svn diff' to hold local mods.
Make 'diff' omit (only the) local modifications on files that have the
'svn:hold' property set. (diff_repos_repos is not affected, and diff_repos_wc
only omits the local mods, if any, but shows the repos_repos part of mods.)
Also add the --do-not-hold option to 'svn diff', which, when passed, does not
omit any modifications, regardless of 'svn:hold'.
* subversion/include/svn_client.h
(svn_client_diff6, svn_client_diff_peg6):
New functions; add DO_NOT_HOLD over *5().
* subversion/include/svn_wc.h
(svn_wc_get_diff_editor7, svn_wc_diff7):
New functions; add DO_NOT_HOLD over *6().
* subversion/libsvn_client/diff.c
(do_diff, diff_wc_wc, diff_repos_wc):
Add parameter DO_NOT_HOLD and pass through to ultimately
svn_wc_diff7() (wc-wc) or svn_wc_get_diff_editor7() (wc-url).
(svn_client_diff6, svn_client_diff_peg6): New functions (s.a.).
(svn_client_diff5, svn_client_diff_peg5):
Call *6(), passing DO_NOT_HOLD as TRUE to yield previous behavior.
* subversion/libsvn_wc/diff_editor.c
(struct edit_baton): Add DO_NOT_HOLD.
(make_edit_baton): Add parameter DO_NOT_HOLD, placed in the new baton.
(file_diff):
Skip file diffs if they have an svn:hold prop (locally added files).
(close_file):
Skip local mods on files that have an svn:hold prop (wc-url).
(svn_wc_get_diff_editor7): New function (s.a.).
(svn_wc_get_diff_editor6):
Call *7() with DO_NOT_HOLD as TRUE to yield previous behavior.
* subversion/libsvn_wc/diff_local.c
(struct diff_baton): Add DO_NOT_HOLD.
(file_diff): Skip file diffs if they have an svn:hold prop (wc-wc).
(svn_wc_diff7): New function (s.a.).
(svn_wc_diff6):
Call *7() with DO_NOT_HOLD as TRUE to yield previous behavior.
* subversion/svn/diff-cmd.c
(svn_cl__diff):
Call svn_client_diff[_peg]6() instead of *5(), pass DO_NOT_HOLD.
* subversion/svn/main.c
(svn_cl__options):
Revise online help string for --do-not-hold option, to also match diff.
(svn_cl__cmd_table): Add OPT_DO_NOT_HOLD to the 'diff' command.
git-svn-id: https://svn.apache.org/repos/asf/subversion/branches/hold@1160093 13f79535-47bb-0310-9956-ffa450edef68
7 files changed