You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by ju...@apache.org on 2013/01/08 15:50:41 UTC
svn commit: r1430310 - /subversion/trunk/subversion/libsvn_client/merge.c
Author: julianfoad
Date: Tue Jan 8 14:50:41 2013
New Revision: 1430310
URL: http://svn.apache.org/viewvc?rev=1430310&view=rev
Log:
Fix a foreign-repository reverse merge bug that I happened to notice by
inspection. Foreign repository mergeinfo could have affected the target
mergeinfo in this case.
* subversion/libsvn_client/merge.c
(prepare_merge_props_changed): Filter out any foreign repository mergeinfo
unconditionally. This filtering was wrongly being skipped for a reverse
merge.
Modified:
subversion/trunk/subversion/libsvn_client/merge.c
Modified: subversion/trunk/subversion/libsvn_client/merge.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_client/merge.c?rev=1430310&r1=1430309&r2=1430310&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_client/merge.c (original)
+++ subversion/trunk/subversion/libsvn_client/merge.c Tue Jan 8 14:50:41 2013
@@ -1307,6 +1307,13 @@ prepare_merge_props_changed(const apr_ar
if (props->nelts)
{
+ /* Issue #3383: We don't want mergeinfo from a foreign repos.
+
+ If this is a merge from a foreign repository we must strip all
+ incoming mergeinfo (including mergeinfo deletions). */
+ if (! merge_b->same_repos)
+ SVN_ERR(omit_mergeinfo_changes(&props, props, result_pool));
+
/* If this is a forward merge then don't add new mergeinfo to
PATH that is already part of PATH's own history, see
http://svn.haxx.se/dev/archive-2008-09/0006.shtml. If the
@@ -1315,13 +1322,7 @@ prepare_merge_props_changed(const apr_ar
if (merge_b->merge_source.loc1->rev < merge_b->merge_source.loc2->rev
|| !merge_b->merge_source.ancestral)
{
- /* Issue #3383: We don't want mergeinfo from a foreign repos.
-
- If this is a merge from a foreign repository we must strip all
- incoming mergeinfo (including mergeinfo deletions). */
- if (! merge_b->same_repos)
- SVN_ERR(omit_mergeinfo_changes(&props, props, result_pool));
- else if (HONOR_MERGEINFO(merge_b) || merge_b->reintegrate_merge)
+ if (HONOR_MERGEINFO(merge_b) || merge_b->reintegrate_merge)
SVN_ERR(filter_self_referential_mergeinfo(&props,
local_abspath,
merge_b->ra_session2,