You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by hw...@apache.org on 2011/01/25 18:06:58 UTC
svn commit: r1063360 - in
/subversion/branches/ignore-mergeinfo-log/subversion: include/svn_repos.h
libsvn_repos/deprecated.c libsvn_repos/log.c
Author: hwright
Date: Tue Jan 25 17:06:57 2011
New Revision: 1063360
URL: http://svn.apache.org/viewvc?rev=1063360&view=rev
Log:
On the ignore-mergeinfo-log branch:
Rev the svn_repos_get_log4() interface to add an ignore_mergeinfo flag, but
don't actually use it (beyond some sanity checking).
* subversion/include/svn_repos.h
(svn_repos_get_logs5): New.
(svn_repos_get_logs4): Deprecate.
* subversion/libsvn_repos/deprecated.c
(svn_repos_get_logs4): New wrapper.
* subversion/libsvn_repos/log.c
(svn_repos_get_logs5): New, largely copied from svn_repos_get_logs4().
Do some parameter state checking as well.
Modified:
subversion/branches/ignore-mergeinfo-log/subversion/include/svn_repos.h
subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/deprecated.c
subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/log.c
Modified: subversion/branches/ignore-mergeinfo-log/subversion/include/svn_repos.h
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/include/svn_repos.h?rev=1063360&r1=1063359&r2=1063360&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/include/svn_repos.h (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/include/svn_repos.h Tue Jan 25 17:06:57 2011
@@ -1623,6 +1623,31 @@ svn_repos_node_location_segments(svn_rep
* @since New in 1.5.
*/
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_mergeinfo,
+ 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);
+
+/**
+ * Similar to svn_repos_get_logs5(), but with @a ignore_mergeinfo set to
+ * @c FALSE.
+ *
+ * @since New in 1.5.
+ * @deprecated Provided for backward compatibility with the 1.6 API.
+ */
+SVN_DEPRECATED
+svn_error_t *
svn_repos_get_logs4(svn_repos_t *repos,
const apr_array_header_t *paths,
svn_revnum_t start,
Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/deprecated.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/deprecated.c?rev=1063360&r1=1063359&r2=1063360&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/deprecated.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/deprecated.c Tue Jan 25 17:06:57 2011
@@ -428,6 +428,29 @@ svn_repos_fs_get_locks(apr_hash_t **lock
/*** 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,
+ include_merged_revisions, 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,
Modified: subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/log.c
URL: http://svn.apache.org/viewvc/subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/log.c?rev=1063360&r1=1063359&r2=1063360&view=diff
==============================================================================
--- subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/log.c (original)
+++ subversion/branches/ignore-mergeinfo-log/subversion/libsvn_repos/log.c Tue Jan 25 17:06:57 2011
@@ -1609,7 +1609,7 @@ do_logs(svn_fs_t *fs,
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,
@@ -1617,6 +1617,7 @@ svn_repos_get_logs4(svn_repos_t *repos,
svn_boolean_t discover_changed_paths,
svn_boolean_t strict_node_history,
svn_boolean_t include_merged_revisions,
+ svn_boolean_t ignore_mergeinfo,
const apr_array_header_t *revprops,
svn_repos_authz_func_t authz_read_func,
void *authz_read_baton,
@@ -1628,6 +1629,13 @@ svn_repos_get_logs4(svn_repos_t *repos,
svn_fs_t *fs = repos->fs;
svn_boolean_t descending_order;
+ /* Including merged revisions and ignoring mergeinfo simultaneously is
+ nonsensical, so prohibit it. */
+ if (include_merged_revisions && ignore_mergeinfo)
+ return svn_error_create
+ (SVN_ERR_NONSENSICAL_OPTIONS, NULL,
+ _("Can't ignore mergeinfo and include merged revisions simultaneously"));
+
/* Setup log range. */
SVN_ERR(svn_fs_youngest_rev(&head, fs, pool));
@@ -1664,7 +1672,7 @@ svn_repos_get_logs4(svn_repos_t *repos,
paths or a single empty (or "/") path, then we can bypass a bunch
of complexity because we already know in which revisions the root
directory was changed -- all of them. */
- if ((! include_merged_revisions)
+ if ((! include_merged_revisions) && (! ignore_mergeinfo)
&& ((! paths->nelts)
|| ((paths->nelts == 1)
&& (svn_path_is_empty(APR_ARRAY_IDX(paths, 0, const char *))