Author: philip
Date: Thu May 12 14:17:32 2011
New Revision: 1102321
URL: http://svn.apache.org/viewvc?rev=1102321&view=rev
Log:
Return an error, rather than assert, for upgrades involving replaced
directories that are copies.
* subversion/libsvn_wc/entries.c
(write_entry): Return error rather than assert.
Modified:
subversion/trunk/subversion/libsvn_wc/entries.c
Modified: subversion/trunk/subversion/libsvn_wc/entries.c
URL:
http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_wc/entries.c?rev=1102321&r1=1102320&r2=1102321&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Thu May 12 14:17:32 2011
@@ -1723,6 +1723,12 @@ write_entry(struct write_baton **entry_n
break;
case svn_wc_schedule_delete:
+ if (entry->copied)
+ return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
+ _("Cannot upgrade with copied/replaced directory '%s'"),
+ svn_dirent_local_style(parent_node->base->local_relpath,
+ scratch_pool));
+
SVN_ERR_ASSERT(!entry->copied);
working_node = MAYBE_ALLOC(working_node, result_pool);
if (parent_node->base)
@@ -1730,6 +1736,12 @@ write_entry(struct write_baton **entry_n
break;
case svn_wc_schedule_replace:
+ if (parent_node->base && parent_node->work)
+ return svn_error_createf(SVN_ERR_UNSUPPORTED_FEATURE, NULL,
+ _("Cannot upgrade with copied/replaced directory '%s'"),
+ svn_dirent_local_style(parent_node->base->local_relpath,
+ scratch_pool));
+
SVN_ERR_ASSERT((parent_node->base && !parent_node->work)
|| (parent_node->work && !parent_node->base));
working_node = MAYBE_ALLOC(working_node, result_pool);