You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by sv...@apache.org on 2013/05/27 06:01:40 UTC
svn commit: r1486507 - in /subversion/branches/1.8.x: ./ STATUS
subversion/libsvn_repos/replay.c
Author: svn-role
Date: Mon May 27 04:01:39 2013
New Revision: 1486507
URL: http://svn.apache.org/r1486507
Log:
Merge r1482436 from trunk:
* r1482436
Resolve regression in svn_ra_replay_range() where it didn't apply
the send_changes FALSE flag to property changes.
Justification:
The replay without changes mode is used by repository viewers
to obtain more information about changes. We should keep this
behavior stable
Votes:
+1: rhuijben (for either 1.8.0 or later)
+1: cmpilato, danielsh
Modified:
subversion/branches/1.8.x/ (props changed)
subversion/branches/1.8.x/STATUS
subversion/branches/1.8.x/subversion/libsvn_repos/replay.c
Propchange: subversion/branches/1.8.x/
------------------------------------------------------------------------------
Merged /subversion/trunk:r1482436
Modified: subversion/branches/1.8.x/STATUS
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/STATUS?rev=1486507&r1=1486506&r2=1486507&view=diff
==============================================================================
--- subversion/branches/1.8.x/STATUS (original)
+++ subversion/branches/1.8.x/STATUS Mon May 27 04:01:39 2013
@@ -105,17 +105,6 @@ Approved changes:
# blocking issues. If in doubt see this link for details:
# http://subversion.apache.org/docs/community-guide/releasing.html#release-stabilization
- * r1482436
- Resolve regression in svn_ra_replay_range() where it didn't apply
- the send_changes FALSE flag to property changes.
- Justification:
- The replay without changes mode is used by repository viewers
- to obtain more information about changes. We should keep this
- behavior stable
- Votes:
- +1: rhuijben (for either 1.8.0 or later)
- +1: cmpilato, danielsh
-
* r1480149
Fix a build problem on OS X 10.5.
Justification:
Modified: subversion/branches/1.8.x/subversion/libsvn_repos/replay.c
URL: http://svn.apache.org/viewvc/subversion/branches/1.8.x/subversion/libsvn_repos/replay.c?rev=1486507&r1=1486506&r2=1486507&view=diff
==============================================================================
--- subversion/branches/1.8.x/subversion/libsvn_repos/replay.c (original)
+++ subversion/branches/1.8.x/subversion/libsvn_repos/replay.c Mon May 27 04:01:39 2013
@@ -704,31 +704,45 @@ path_driver_cb_func(void **dir_baton,
/* Handle property modifications. */
if (change->prop_mod || downgraded_copy)
{
- apr_array_header_t *prop_diffs;
- apr_hash_t *old_props;
- apr_hash_t *new_props;
- int i;
-
- if (source_root)
- SVN_ERR(svn_fs_node_proplist(&old_props, source_root,
- source_fspath, pool));
- else
- old_props = apr_hash_make(pool);
+ if (cb->compare_root)
+ {
+ apr_array_header_t *prop_diffs;
+ apr_hash_t *old_props;
+ apr_hash_t *new_props;
+ int i;
+
+ if (source_root)
+ SVN_ERR(svn_fs_node_proplist(&old_props, source_root,
+ source_fspath, pool));
+ else
+ old_props = apr_hash_make(pool);
- SVN_ERR(svn_fs_node_proplist(&new_props, root, edit_path, pool));
+ SVN_ERR(svn_fs_node_proplist(&new_props, root, edit_path, pool));
- SVN_ERR(svn_prop_diffs(&prop_diffs, new_props, old_props,
- pool));
+ SVN_ERR(svn_prop_diffs(&prop_diffs, new_props, old_props,
+ pool));
- for (i = 0; i < prop_diffs->nelts; ++i)
+ for (i = 0; i < prop_diffs->nelts; ++i)
+ {
+ svn_prop_t *pc = &APR_ARRAY_IDX(prop_diffs, i, svn_prop_t);
+ if (change->node_kind == svn_node_dir)
+ SVN_ERR(editor->change_dir_prop(*dir_baton, pc->name,
+ pc->value, pool));
+ else if (change->node_kind == svn_node_file)
+ SVN_ERR(editor->change_file_prop(file_baton, pc->name,
+ pc->value, pool));
+ }
+ }
+ else
{
- svn_prop_t *pc = &APR_ARRAY_IDX(prop_diffs, i, svn_prop_t);
- if (change->node_kind == svn_node_dir)
- SVN_ERR(editor->change_dir_prop(*dir_baton, pc->name,
- pc->value, pool));
- else if (change->node_kind == svn_node_file)
- SVN_ERR(editor->change_file_prop(file_baton, pc->name,
- pc->value, pool));
+ /* Just do a dummy prop change to signal that there are *any*
+ propmods. */
+ if (change->node_kind == svn_node_dir)
+ SVN_ERR(editor->change_dir_prop(*dir_baton, "", NULL,
+ pool));
+ else if (change->node_kind == svn_node_file)
+ SVN_ERR(editor->change_file_prop(file_baton, "", NULL,
+ pool));
}
}