You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2010/08/26 20:08:45 UTC
svn commit: r989854 - /subversion/trunk/subversion/libsvn_client/diff.c
Author: stsp
Date: Thu Aug 26 18:08:45 2010
New Revision: 989854
URL: http://svn.apache.org/viewvc?rev=989854&view=rev
Log:
* subversion/libsvn_client/diff.c
(diff_repos_repos): Replace the DIFF_PARAM bag of parameters with the
list of parameters this function really needs.
(do_diff): Update caller.
Modified:
subversion/trunk/subversion/libsvn_client/diff.c
Modified: subversion/trunk/subversion/libsvn_client/diff.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/diff.c?rev=989854&r1=989853&r2=989854&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/diff.c (original)
+++ subversion/trunk/subversion/libsvn_client/diff.c Thu Aug 26 18:08:45 2010
@@ -1501,18 +1501,24 @@ diff_wc_wc(const char *path1,
/* Perform a diff between two repository paths.
- DIFF_PARAM.PATH1 and DIFF_PARAM.PATH2 may be either URLs or the working
- copy paths. DIFF_PARAM.REVISION1 and DIFF_PARAM.REVISION2 are their
- respective revisions. If DIFF_PARAM.PEG_REVISION is specified,
- DIFF_PARAM.PATH2 is the path at the peg revision, and the actual two
- paths compared are determined by following copy history from PATH2.
+ PATH1 and PATH2 may be either URLs or the working copy paths.
+ REVISION1 and REVISION2 are their respective revisions.
+ If PEG_REVISION is specified, PATH2 is the path at the peg revision,
+ and the actual two paths compared are determined by following copy
+ history from PATH2.
All other options are the same as those passed to svn_client_diff5(). */
static svn_error_t *
-diff_repos_repos(const struct diff_parameters *diff_param,
- const svn_wc_diff_callbacks4_t *callbacks,
+diff_repos_repos(const svn_wc_diff_callbacks4_t *callbacks,
struct diff_cmd_baton *callback_baton,
svn_client_ctx_t *ctx,
+ const char *path1,
+ const char *path2,
+ const svn_opt_revision_t *revision1,
+ const svn_opt_revision_t *revision2,
+ const svn_opt_revision_t *peg_revision,
+ svn_depth_t depth,
+ svn_boolean_t ignore_ancestry,
apr_pool_t *pool)
{
svn_ra_session_t *extra_ra_session;
@@ -1537,12 +1543,8 @@ diff_repos_repos(const struct diff_param
/* Prepare info for the repos repos diff. */
SVN_ERR(diff_prepare_repos_repos(&url1, &url2, &base_path, &rev1, &rev2,
&anchor1, &anchor2, &target1, &target2,
- &ra_session, ctx,
- diff_param->path1,
- diff_param->path2,
- diff_param->revision1,
- diff_param->revision2,
- diff_param->peg_revision,
+ &ra_session, ctx, path1, path2,
+ revision1, revision2, peg_revision,
pool));
/* Get actual URLs. */
@@ -1564,7 +1566,7 @@ diff_repos_repos(const struct diff_param
Otherwise, we just use "". */
SVN_ERR(svn_client__get_diff_editor
(base_path ? base_path : "",
- NULL, callbacks, callback_baton, diff_param->depth,
+ NULL, callbacks, callback_baton, depth,
FALSE /* doesn't matter for diff */, extra_ra_session, rev1,
NULL /* no notify_func */, NULL /* no notify_baton */,
ctx->cancel_func, ctx->cancel_baton,
@@ -1573,7 +1575,7 @@ diff_repos_repos(const struct diff_param
/* We want to switch our txn into URL2 */
SVN_ERR(svn_ra_do_diff3
(ra_session, &reporter, &reporter_baton, rev2, target1,
- diff_param->depth, diff_param->ignore_ancestry, TRUE,
+ depth, ignore_ancestry, TRUE,
url2, diff_editor, diff_edit_baton, pool));
/* Drive the reporter; do the diff. */
@@ -1754,8 +1756,15 @@ do_diff(const struct diff_parameters *di
{
if (is_repos2)
{
- SVN_ERR(diff_repos_repos(diff_param, callbacks, callback_baton,
- ctx, pool));
+ SVN_ERR(diff_repos_repos(callbacks, callback_baton, ctx,
+ diff_param->path1,
+ diff_param->path2,
+ diff_param->revision1,
+ diff_param->revision2,
+ diff_param->peg_revision,
+ diff_param->depth,
+ diff_param->ignore_ancestry,
+ pool));
}
else /* path2 is a working copy path */
{