Index: subversion/include/svn_repos.h =================================================================== --- subversion/include/svn_repos.h (revision 23943) +++ subversion/include/svn_repos.h (working copy) @@ -431,7 +431,6 @@ const char *target, const char *tgt_path, svn_boolean_t text_deltas, - svn_depth_t depth, svn_boolean_t ignore_ancestry, const svn_delta_editor_t *editor, void *edit_baton, Index: subversion/libsvn_wc/adm_crawler.c =================================================================== --- subversion/libsvn_wc/adm_crawler.c (revision 23943) +++ subversion/libsvn_wc/adm_crawler.c (working copy) @@ -506,7 +506,8 @@ /* The first call to the reporter merely informs it that the top-level directory being updated is at BASE_REV. Its PATH argument is ignored. */ - SVN_ERR(reporter->set_path(report_baton, "", base_rev, entry->depth, + SVN_ERR(reporter->set_path(report_baton, "", base_rev, + depth == svn_depth_unknown ? entry->depth : depth, entry->incomplete , /* start_empty ? */ NULL, pool)); Index: subversion/libsvn_ra_local/ra_plugin.c =================================================================== --- subversion/libsvn_ra_local/ra_plugin.c (revision 23943) +++ subversion/libsvn_ra_local/ra_plugin.c (working copy) @@ -621,7 +621,6 @@ target, other_fs_path, text_deltas, - depth, ignore_ancestry, editor, edit_baton, Index: subversion/mod_dav_svn/reports/update.c =================================================================== --- subversion/mod_dav_svn/reports/update.c (revision 23943) +++ subversion/mod_dav_svn/reports/update.c (working copy) @@ -1172,7 +1172,6 @@ src_path, target, dst_path, text_deltas, - depth, ignore_ancestry, editor, &uc, dav_svn__authz_read_func(&arb), Index: subversion/tests/libsvn_repos/repos-test.c =================================================================== --- subversion/tests/libsvn_repos/repos-test.c (revision 23943) +++ subversion/tests/libsvn_repos/repos-test.c (working copy) @@ -1080,8 +1080,8 @@ /* Report what we have. */ SVN_ERR(svn_repos_begin_report2(&report_baton, 1, "user1", repos, "/", "", - NULL, FALSE, svn_depth_infinity, FALSE, - editor, edit_baton, NULL, NULL, subpool)); + NULL, FALSE, FALSE, editor, edit_baton, + NULL, NULL, subpool)); SVN_ERR(svn_repos_set_path3(report_baton, "", 1, svn_depth_infinity, FALSE, NULL, subpool)); Index: subversion/libsvn_repos/reporter.c =================================================================== --- subversion/libsvn_repos/reporter.c (revision 23943) +++ subversion/libsvn_repos/reporter.c (working copy) @@ -85,7 +85,7 @@ svn_revnum_t t_rev; /* Revnum which the edit will bring the wc to */ const char *t_path; /* FS path the edit will bring the wc to */ svn_boolean_t text_deltas; /* Whether to report text deltas */ - svn_depth_t depth; /* Default depth for the editor drive. */ + svn_depth_t default_depth; /* Default depth for the editor drive. */ svn_boolean_t ignore_ancestry; svn_boolean_t is_switch; const svn_delta_editor_t *editor; @@ -211,8 +211,8 @@ break; /* Note that we do not tolerate explicit representation of - svn_depth_infinity as "3" here, because that's the - default and should never be sent. */ + svn_depth_infinity here, because that's the default and + should never be sent. */ default: return svn_error_createf(SVN_ERR_REPOS_BAD_REVISION_REPORT, NULL, _("Invalid depth (%" @@ -976,11 +976,11 @@ update the operand within the anchor directory. */ if (!*b->s_operand) SVN_ERR(delta_dirs(b, s_rev, s_fullpath, b->t_path, root_baton, - "", info->start_empty, b->depth, pool)); + "", info->start_empty, info->depth, pool)); else SVN_ERR(update_entry(b, s_rev, s_fullpath, s_entry, b->t_path, t_entry, root_baton, b->s_operand, info, - b->depth, pool)); + info->depth, pool)); SVN_ERR(b->editor->close_directory(root_baton, pool)); SVN_ERR(b->editor->close_edit(b->edit_baton, pool)); @@ -1059,6 +1059,9 @@ rrep = (SVN_IS_VALID_REVNUM(rev)) ? apr_psprintf(pool, "+%ld:", rev) : "-"; + if (depth == svn_depth_unknown) + depth = b->default_depth; + if (depth == svn_depth_empty) drep = "+0:"; else if (depth == svn_depth_files) @@ -1173,7 +1176,6 @@ const char *s_operand, const char *switch_path, svn_boolean_t text_deltas, - svn_depth_t depth, svn_boolean_t ignore_ancestry, const svn_delta_editor_t *editor, void *edit_baton, @@ -1181,6 +1183,41 @@ void *authz_read_baton, apr_pool_t *pool) { + return svn_repos_begin_report(report_baton, + revnum, + username, + repos, + fs_base, + s_operand, + switch_path, + text_deltas, + TRUE /* svn_depth_infinity */, + ignore_ancestry, + editor, + edit_baton, + authz_read_func, + authz_read_baton, + pool); +} + + +svn_error_t * +svn_repos_begin_report(void **report_baton, + svn_revnum_t revnum, + const char *username, + svn_repos_t *repos, + const char *fs_base, + const char *s_operand, + const char *switch_path, + svn_boolean_t text_deltas, + svn_boolean_t recurse, + svn_boolean_t ignore_ancestry, + const svn_delta_editor_t *editor, + void *edit_baton, + svn_repos_authz_func_t authz_read_func, + void *authz_read_baton, + apr_pool_t *pool) +{ report_baton_t *b; const char *tempdir; @@ -1194,7 +1231,7 @@ b->t_path = switch_path ? switch_path : svn_path_join(fs_base, s_operand, pool); b->text_deltas = text_deltas; - b->depth = depth; + b->default_depth = SVN_DEPTH_FROM_RECURSE(recurse); b->ignore_ancestry = ignore_ancestry; b->is_switch = (switch_path != NULL); b->editor = editor; @@ -1211,38 +1248,3 @@ *report_baton = b; return SVN_NO_ERROR; } - - -svn_error_t * -svn_repos_begin_report(void **report_baton, - svn_revnum_t revnum, - const char *username, - svn_repos_t *repos, - const char *fs_base, - const char *s_operand, - const char *switch_path, - svn_boolean_t text_deltas, - svn_boolean_t recurse, - svn_boolean_t ignore_ancestry, - const svn_delta_editor_t *editor, - void *edit_baton, - svn_repos_authz_func_t authz_read_func, - void *authz_read_baton, - apr_pool_t *pool) -{ - return svn_repos_begin_report2(report_baton, - revnum, - username, - repos, - fs_base, - s_operand, - switch_path, - text_deltas, - SVN_DEPTH_FROM_RECURSE(recurse), - ignore_ancestry, - editor, - edit_baton, - authz_read_func, - authz_read_baton, - pool); -} Index: subversion/svnserve/serve.c =================================================================== --- subversion/svnserve/serve.c (revision 23943) +++ subversion/svnserve/serve.c (working copy) @@ -579,7 +579,7 @@ svn_ra_svn_get_editor(&editor, &edit_baton, conn, pool, NULL, NULL); SVN_CMD_ERR(svn_repos_begin_report2(&report_baton, rev, b->user, b->repos, b->fs_path->data, target, tgt_path, - text_deltas, depth, ignore_ancestry, + text_deltas, ignore_ancestry, editor, edit_baton, authz_check_access_cb_func(b), b, pool));