Daniel Becroft <djcbecr...@gmail.com> writes: > On 27/01/2011, at 17:04, Noorul Islam K M <noo...@collab.net> wrote: > >> Hi, >> >> I am planning to work on issue 3690. Before starting with this I have >> few questions. >> >> 1. Hyrum updated the issue with his comment stating that already there >> is work going on in the branch ignore-mergeinfo which addresses >> subset of issue 3690, i.e ignoring changes to svn:mergeinfo. Is >> svn:mergeinfo an svn property set using svn pset command? I think Zvi >> Rackover is talking about a new option passing which a user can >> ignore revisions with just the following property changes alone. >> >> author eol-style externals keywords mime-type >> date executable ignore log needs-lock > > Fyi, svn:author, svn:date and svn:log are revision properties - changes to > these don't appear in the log. > > Cheers, > Daniel > Sent from my phone. >
I started working on this and I think I completed the changes for svn_ra_local. Attached is the patch. This is a work in progress. I would like to get some initial comments/suggestions on the patch and would like to know whether I am proceeding on right direction. This patch adds new option '--ignore-properties' to 'log' sub command. If this option is provided then command ignore revisions that has only property changes from output. Thanks and Regards Noorul
Index: subversion/libsvn_ra/deprecated.c =================================================================== --- subversion/libsvn_ra/deprecated.c (revision 1065683) +++ subversion/libsvn_ra/deprecated.c (working copy) @@ -293,6 +293,25 @@ versus_url, diff_editor, diff_baton, pool); } +svn_error_t *svn_ra_get_log2(svn_ra_session_t *session, + const apr_array_header_t *paths, + svn_revnum_t start, + svn_revnum_t end, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + const apr_array_header_t *revprops, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + apr_pool_t *pool) +{ + return svn_ra_get_log3(session, paths, start, end, limit, + discover_changed_paths, strict_node_history, + FALSE, FALSE, revprops, + receiver, receiver_baton, pool); +} + svn_error_t *svn_ra_get_log(svn_ra_session_t *session, const apr_array_header_t *paths, svn_revnum_t start, Index: subversion/libsvn_ra/wrapper_template.h =================================================================== --- subversion/libsvn_ra/wrapper_template.h (revision 1065683) +++ subversion/libsvn_ra/wrapper_template.h (working copy) @@ -389,6 +389,7 @@ return VTBL.get_log(session_baton, paths, start, end, 0, /* limit */ discover_changed_paths, strict_node_history, FALSE, /* include_merged_revisions */ + FALSE, /* ignore_properties */ svn_compat_log_revprops_in(pool), /* revprops */ receiver2, receiver2_baton, pool); } Index: subversion/libsvn_ra/ra_loader.c =================================================================== --- subversion/libsvn_ra/ra_loader.c (revision 1065683) +++ subversion/libsvn_ra/ra_loader.c (working copy) @@ -879,7 +879,7 @@ diff_baton, pool); } -svn_error_t *svn_ra_get_log2(svn_ra_session_t *session, +svn_error_t *svn_ra_get_log3(svn_ra_session_t *session, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, @@ -887,6 +887,7 @@ svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, @@ -907,8 +908,8 @@ return session->vtable->get_log(session, paths, start, end, limit, discover_changed_paths, strict_node_history, - include_merged_revisions, revprops, - receiver, receiver_baton, pool); + include_merged_revisions, ignore_properties, + revprops, receiver, receiver_baton, pool); } svn_error_t *svn_ra_check_path(svn_ra_session_t *session, Index: subversion/libsvn_ra/ra_loader.h =================================================================== --- subversion/libsvn_ra/ra_loader.h (revision 1065683) +++ subversion/libsvn_ra/ra_loader.h (working copy) @@ -171,6 +171,7 @@ svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, Index: subversion/libsvn_ra_local/ra_plugin.c =================================================================== --- subversion/libsvn_ra_local/ra_plugin.c (revision 1065683) +++ subversion/libsvn_ra_local/ra_plugin.c (working copy) @@ -873,6 +873,7 @@ svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, @@ -906,7 +907,7 @@ receiver_baton = &lb; } - return svn_repos_get_logs4(sess->repos, + return svn_repos_get_logs5(sess->repos, abs_paths, start, end, @@ -914,6 +915,7 @@ discover_changed_paths, strict_node_history, include_merged_revisions, + ignore_properties, revprops, NULL, NULL, receiver, Index: subversion/tests/cmdline/log_tests.py =================================================================== --- subversion/tests/cmdline/log_tests.py (revision 1065683) +++ subversion/tests/cmdline/log_tests.py (working copy) @@ -1750,6 +1750,27 @@ "differs from that on move source '%s'" % (psi_moved_path, psi_path)) +def log_ignore_properties(sbox): + "svn log --ignore-properties" + sbox.build() + wc_dir = sbox.wc_dir + iota_file = os.path.join(wc_dir, 'iota') + svntest.main.run_svn(None, 'propset', 'foo', 'bar', iota_file) + svntest.main.run_svn(None, 'ci', '-m', + 'Set property "foo" to "bar" on A/iota', wc_dir) + + svntest.main.run_svn(None, 'propset', 'bar', 'foo', iota_file) + svntest.main.run_svn(None, 'ci', '-m', + 'Set property "bar" to "foo" on A/iota', wc_dir) + + exit_code, output, error = svntest.main.run_svn(0, 'log', + '--ignore-properties', + wc_dir) + + expected_output_re = re.compile(".*Set property.*") + if expected_output_re.match("".join(output)): + raise svntest.Failure('Log failed with --ignore-properties failed') + ######################################################################## # Run the tests @@ -1792,6 +1813,7 @@ SkipUnless(merge_sensitive_log_propmod_merge_inheriting_path, server_has_mergeinfo), log_of_local_copy, + log_ignore_properties, ] if __name__ == '__main__': Index: subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout =================================================================== --- subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout (revision 1065683) +++ subversion/tests/cmdline/getopt_tests_data/svn_help_log_switch_stdout (working copy) @@ -76,6 +76,7 @@ Ignore changes in EOL style. -p (--show-c-function): Show C function name in diff output. + --ignore-properties : ignore revisions with only property changes Global options: --username ARG : specify a username ARG Index: subversion/svn/cl.h =================================================================== --- subversion/svn/cl.h (revision 1065683) +++ subversion/svn/cl.h (working copy) @@ -230,6 +230,8 @@ svn_boolean_t internal_diff; /* override diff_cmd in config file */ svn_boolean_t use_git_diff_format; /* Use git's extended diff format */ svn_boolean_t allow_mixed_rev; /* Allow operation on mixed-revision WC */ + svn_boolean_t ignore_properties; /* Ignore revisions with only property + changes from log command output */ } svn_cl__opt_state_t; Index: subversion/svn/log-cmd.c =================================================================== --- subversion/svn/log-cmd.c (revision 1065683) +++ subversion/svn/log-cmd.c (working copy) @@ -706,13 +706,14 @@ if (!opt_state->quiet) APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_LOG; } - SVN_ERR(svn_client_log5(targets, + SVN_ERR(svn_client_log6(targets, &peg_revision, opt_state->revision_ranges, opt_state->limit, opt_state->verbose, opt_state->stop_on_copy, opt_state->use_merge_history, + opt_state->ignore_properties, revprops, log_entry_receiver_xml, &lb, @@ -729,13 +730,14 @@ APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_DATE; if (!opt_state->quiet) APR_ARRAY_PUSH(revprops, const char *) = SVN_PROP_REVISION_LOG; - SVN_ERR(svn_client_log5(targets, + SVN_ERR(svn_client_log6(targets, &peg_revision, opt_state->revision_ranges, opt_state->limit, opt_state->verbose, opt_state->stop_on_copy, opt_state->use_merge_history, + opt_state->ignore_properties, revprops, log_entry_receiver, &lb, Index: subversion/svn/main.c =================================================================== --- subversion/svn/main.c (revision 1065683) +++ subversion/svn/main.c (working copy) @@ -123,6 +123,7 @@ opt_internal_diff, opt_use_git_diff_format, opt_allow_mixed_revisions, + opt_ignore_properties, } svn_cl__longopt_t; @@ -338,6 +339,8 @@ "Use of this option is not recommended!\n" " " "Please run 'svn update' instead.")}, + {"ignore-properties", opt_ignore_properties, 0, + N_("ignore revisions with only property changes")}, /* Long-opt Aliases * @@ -668,7 +671,7 @@ " svn log http://www.example.com/repo/project@50 foo.c bar.c\n"), {'r', 'q', 'v', 'g', 'c', opt_targets, opt_stop_on_copy, opt_incremental, opt_xml, 'l', opt_with_all_revprops, opt_with_no_revprops, opt_with_revprop, - opt_diff, opt_diff_cmd, opt_internal_diff, 'x'}, + opt_diff, opt_diff_cmd, opt_internal_diff, 'x', opt_ignore_properties}, {{opt_with_revprop, N_("retrieve revision property ARG")}, {'c', N_("the change made in revision ARG")}} }, @@ -1816,6 +1819,9 @@ case opt_allow_mixed_revisions: opt_state.allow_mixed_rev = TRUE; break; + case opt_ignore_properties: + opt_state.ignore_properties = TRUE; + break; default: /* Hmmm. Perhaps this would be a good place to squirrel away opts that commands like svn diff might need. Hmmm indeed. */ Index: subversion/include/svn_repos.h =================================================================== --- subversion/include/svn_repos.h (revision 1065683) +++ subversion/include/svn_repos.h (working copy) @@ -1579,6 +1579,9 @@ * If @a include_merged_revisions is set, log information for revisions * which have been merged to @a targets will also be returned. * + * If @a include_properties is set, log information for revisions + * which only have property change will not be returned. + * * If @a revprops is NULL, retrieve all revprops; else, retrieve only the * revprops named in the array (i.e. retrieve none if the array is empty). * @@ -1602,6 +1605,29 @@ * * Use @a pool for temporary allocations. * + * @since New in 1.7. + */ +svn_error_t * +svn_repos_get_logs5(svn_repos_t *repos, + const apr_array_header_t *paths, + svn_revnum_t start, + svn_revnum_t end, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, + const apr_array_header_t *revprops, + svn_repos_authz_func_t authz_read_func, + void *authz_read_baton, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + apr_pool_t *pool); + +/** + * Same as svn_repos_get_logs5(), but with @a ignore_properties + * always @c FALSE. + * * @since New in 1.5. */ svn_error_t * Index: subversion/include/svn_client.h =================================================================== --- subversion/include/svn_client.h (revision 1065683) +++ subversion/include/svn_client.h (working copy) @@ -2341,6 +2341,9 @@ * If @a include_merged_revisions is set, log information for revisions * which have been merged to @a targets will also be returned. * + * If @a ignore_properties is set, log will ignore any revision with + * svn property changes alone when determinig which revisions to return. + * * If @a revprops is NULL, retrieve all revprops; else, retrieve only the * revprops named in the array (i.e. retrieve none if the array is empty). * @@ -2356,8 +2359,31 @@ * If @a ctx->notify_func2 is non-NULL, then call @a ctx->notify_func2/baton2 * with a 'skip' signal on any unversioned targets. * + * @since New in 1.7. + */ +svn_error_t * +svn_client_log6(const apr_array_header_t *targets, + const svn_opt_revision_t *peg_revision, + const apr_array_header_t *revision_ranges, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, + const apr_array_header_t *revprops, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + svn_client_ctx_t *ctx, + apr_pool_t *pool); + +/** + * Similar to svn_client_log6(), but with @a ignore_properties + * always @c FALSE. + * + * @deprecated Provided for compatibility with the 1.6 API. * @since New in 1.6. */ +SVN_DEPRECATED svn_error_t * svn_client_log5(const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, Index: subversion/include/svn_ra.h =================================================================== --- subversion/include/svn_ra.h (revision 1065683) +++ subversion/include/svn_ra.h (working copy) @@ -1433,6 +1433,9 @@ * If @a include_merged_revisions is set, log information for revisions * which have been merged to @a targets will also be returned. * + * If @a ignore_properties is set, do not log information for revisions + * which have only property changes. + * * If @a revprops is NULL, retrieve all revprops; else, retrieve only the * revprops named in the array (i.e. retrieve none if the array is empty). * @@ -1459,9 +1462,27 @@ * revprops is NULL or contains a revprop other than svn:author, svn:date, * or svn:log, an @c SVN_ERR_RA_NOT_IMPLEMENTED error is returned. * + * @since New in 1.7. + */ +svn_error_t * +svn_ra_get_log3(svn_ra_session_t *session, + const apr_array_header_t *paths, + svn_revnum_t start, + svn_revnum_t end, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, + const apr_array_header_t *revprops, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + apr_pool_t *pool); + +/** + * Similar to svn_ra_get_log3(), but with ignore_properties set to @c FALSE. * @since New in 1.5. */ - svn_error_t * svn_ra_get_log2(svn_ra_session_t *session, const apr_array_header_t *paths, Index: subversion/libsvn_client/deprecated.c =================================================================== --- subversion/libsvn_client/deprecated.c (revision 1065683) +++ subversion/libsvn_client/deprecated.c (working copy) @@ -1201,6 +1201,26 @@ /*** From log.c ***/ svn_error_t * +svn_client_log5(const apr_array_header_t *targets, + const svn_opt_revision_t *peg_revision, + const apr_array_header_t *revision_ranges, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + const apr_array_header_t *revprops, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + svn_client_ctx_t *ctx, + apr_pool_t *pool) +{ + return svn_client_log6(targets, peg_revision, revision_ranges, limit, + discover_changed_paths, strict_node_history, + include_merged_revisions, FALSE, revprops, + receiver, receiver_baton, ctx, pool); +} + +svn_error_t * svn_client_log4(const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const svn_opt_revision_t *start, Index: subversion/libsvn_client/log.c =================================================================== --- subversion/libsvn_client/log.c (revision 1065683) +++ subversion/libsvn_client/log.c (working copy) @@ -266,13 +266,14 @@ svn_error_t * -svn_client_log5(const apr_array_header_t *targets, +svn_client_log6(const apr_array_header_t *targets, const svn_opt_revision_t *peg_revision, const apr_array_header_t *revision_ranges, int limit, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_log_entry_receiver_t real_receiver, void *real_receiver_baton, @@ -603,7 +604,7 @@ passed_receiver_baton = &lb; } - SVN_ERR(svn_ra_get_log2(ra_session, + SVN_ERR(svn_ra_get_log3(ra_session, condensed_targets, start_revnum, end_revnum, @@ -611,6 +612,7 @@ discover_changed_paths, strict_node_history, include_merged_revisions, + ignore_properties, passed_receiver_revprops, passed_receiver, passed_receiver_baton, Index: subversion/libsvn_repos/deprecated.c =================================================================== --- subversion/libsvn_repos/deprecated.c (revision 1065683) +++ subversion/libsvn_repos/deprecated.c (working copy) @@ -428,6 +428,29 @@ /*** From logs.c ***/ svn_error_t * +svn_repos_get_logs4(svn_repos_t *repos, + const apr_array_header_t *paths, + svn_revnum_t start, + svn_revnum_t end, + int limit, + svn_boolean_t discover_changed_paths, + svn_boolean_t strict_node_history, + svn_boolean_t include_merged_revisions, + const apr_array_header_t *revprops, + svn_repos_authz_func_t authz_read_func, + void *authz_read_baton, + svn_log_entry_receiver_t receiver, + void *receiver_baton, + apr_pool_t *pool) +{ + return svn_repos_get_logs5(repos, paths, start, end, limit, + discover_changed_paths, strict_node_history, + FALSE, FALSE, revprops, + authz_read_func, authz_read_baton, + receiver, receiver_baton, pool); +} + +svn_error_t * svn_repos_get_logs3(svn_repos_t *repos, const apr_array_header_t *paths, svn_revnum_t start, Index: subversion/libsvn_repos/log.c =================================================================== --- subversion/libsvn_repos/log.c (revision 1065683) +++ subversion/libsvn_repos/log.c (working copy) @@ -170,11 +170,15 @@ * SVN_ERR_AUTHZ_UNREADABLE. (This is to distinguish a revision * which truly has no changed paths from a revision in which all * paths are unreadable.) + * + * If the revision contains only property changes then set ONLY_PROP_CHANGE + * to TRUE. */ static svn_error_t * detect_changed(apr_hash_t **changed, svn_fs_root_t *root, svn_fs_t *fs, + svn_boolean_t *only_prop_change, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool) @@ -185,6 +189,7 @@ svn_boolean_t found_readable = FALSE; svn_boolean_t found_unreadable = FALSE; + *only_prop_change = TRUE; *changed = apr_hash_make(pool); SVN_ERR(svn_fs_paths_changed2(&changes, root, pool)); @@ -226,6 +231,10 @@ } } + /* Detect whether there is at least one non-property change. */ + if (! change->prop_mod) + *only_prop_change = FALSE; + /* At least one changed-path was readable. */ found_readable = TRUE; @@ -890,25 +899,27 @@ svn_revnum_t rev, svn_fs_t *fs, svn_boolean_t discover_changed_paths, + svn_boolean_t ignore_properties, + svn_boolean_t *only_prop_change, const apr_array_header_t *revprops, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, apr_pool_t *pool) { - apr_hash_t *r_props, *changed_paths = NULL; + apr_hash_t *r_props, *changed_paths; svn_boolean_t get_revprops = TRUE, censor_revprops = FALSE; /* Discover changed paths if the user requested them or if we need to check that they are readable. */ if ((rev > 0) - && (authz_read_func || discover_changed_paths)) + && (authz_read_func || discover_changed_paths || ignore_properties)) { svn_fs_root_t *newroot; svn_error_t *patherr; SVN_ERR(svn_fs_revision_root(&newroot, fs, rev, pool)); patherr = detect_changed(&changed_paths, - newroot, fs, + newroot, fs, only_prop_change, authz_read_func, authz_read_baton, pool); @@ -996,8 +1007,9 @@ * FS is used with REV to fetch the interesting history information, * such as changed paths, revprops, etc. * - * The detect_changed function is used if either AUTHZ_READ_FUNC is - * not NULL, or if DISCOVER_CHANGED_PATHS is TRUE. See it for details. + * The detect_changed function is used if AUTHZ_READ_FUNC is not NULL, + * if DISCOVER_CHANGED_PATHS is TRUE or if IGNORE_PROPERTIES is TRUE. + * See it for details. * * If DESCENDING_ORDER is true, send child messages in descending order. * @@ -1008,6 +1020,7 @@ send_log(svn_revnum_t rev, svn_fs_t *fs, svn_boolean_t discover_changed_paths, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_boolean_t has_children, svn_log_entry_receiver_t receiver, @@ -1017,14 +1030,19 @@ apr_pool_t *pool) { svn_log_entry_t *log_entry; + svn_boolean_t only_prop_change; log_entry = svn_log_entry_create(pool); SVN_ERR(fill_log_entry(log_entry, rev, fs, discover_changed_paths, - revprops, authz_read_func, authz_read_baton, - pool)); + ignore_properties, &only_prop_change, revprops, + authz_read_func, authz_read_baton, pool)); log_entry->has_children = has_children; - /* Send the entry to the receiver. */ + /* Skip property only revisions if IGNORE_PROPERTIES is TRUE */ + if (ignore_properties && only_prop_change) + return NULL; + + /* Send entry to the receiver. */ return (*receiver)(receiver_baton, log_entry, pool); } @@ -1362,6 +1380,7 @@ svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, svn_boolean_t ignore_missing_locations, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_boolean_t descending_order, svn_log_entry_receiver_t receiver, @@ -1387,6 +1406,7 @@ svn_mergeinfo_t mergeinfo, svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_log_entry_receiver_t receiver, void *receiver_baton, @@ -1415,9 +1435,9 @@ svn_pool_clear(iterpool); SVN_ERR(do_logs(fs, pl_range->paths, pl_range->range.start, pl_range->range.end, 0, discover_changed_paths, - strict_node_history, TRUE, TRUE, revprops, TRUE, - receiver, receiver_baton, authz_read_func, - authz_read_baton, iterpool)); + strict_node_history, TRUE, TRUE, ignore_properties, + revprops, TRUE, receiver, receiver_baton, + authz_read_func, authz_read_baton, iterpool)); } svn_pool_destroy(iterpool); @@ -1447,6 +1467,7 @@ svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, svn_boolean_t ignore_missing_locations, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_boolean_t descending_order, svn_log_entry_receiver_t receiver, @@ -1530,14 +1551,16 @@ in anyway). */ if (descending_order) { - SVN_ERR(send_log(current, fs, discover_changed_paths, + SVN_ERR(send_log(current, fs, discover_changed_paths, + ignore_properties, revprops, has_children, receiver, receiver_baton, authz_read_func, authz_read_baton, iterpool)); if (has_children) { SVN_ERR(handle_merged_revisions(current, fs, mergeinfo, - discover_changed_paths, - strict_node_history, revprops, + discover_changed_paths, + strict_node_history, + ignore_properties, revprops, receiver, receiver_baton, authz_read_func, authz_read_baton, @@ -1595,14 +1618,16 @@ } SVN_ERR(send_log(current, fs, - discover_changed_paths, revprops, has_children, + discover_changed_paths, ignore_properties, + revprops, has_children, receiver, receiver_baton, authz_read_func, authz_read_baton, iterpool)); if (has_children) { SVN_ERR(handle_merged_revisions(current, fs, mergeinfo, discover_changed_paths, - strict_node_history, revprops, + strict_node_history, + ignore_properties, revprops, receiver, receiver_baton, authz_read_func, authz_read_baton, @@ -1619,7 +1644,7 @@ svn_error_t * -svn_repos_get_logs4(svn_repos_t *repos, +svn_repos_get_logs5(svn_repos_t *repos, const apr_array_header_t *paths, svn_revnum_t start, svn_revnum_t end, @@ -1627,6 +1652,7 @@ svn_boolean_t discover_changed_paths, svn_boolean_t strict_node_history, svn_boolean_t include_merged_revisions, + svn_boolean_t ignore_properties, const apr_array_header_t *revprops, svn_repos_authz_func_t authz_read_func, void *authz_read_baton, @@ -1696,18 +1722,17 @@ if (descending_order) rev = end - i; - SVN_ERR(send_log(rev, fs, discover_changed_paths, revprops, FALSE, - receiver, receiver_baton, authz_read_func, - authz_read_baton, iterpool)); + SVN_ERR(send_log(rev, fs, discover_changed_paths, ignore_properties, + revprops, FALSE, receiver, receiver_baton, + authz_read_func, authz_read_baton, iterpool)); } svn_pool_destroy(iterpool); return SVN_NO_ERROR; } - return do_logs(repos->fs, paths, start, end, limit, - discover_changed_paths, strict_node_history, - include_merged_revisions, FALSE, revprops, - descending_order, receiver, receiver_baton, - authz_read_func, authz_read_baton, pool); + return do_logs(repos->fs, paths, start, end, limit, discover_changed_paths, + strict_node_history, include_merged_revisions, FALSE, + ignore_properties, revprops, descending_order, receiver, + receiver_baton, authz_read_func, authz_read_baton, pool); }