Author: danielsh
Date: Tue Mar 29 06:06:01 2011
New Revision: 1086489
URL: http://svn.apache.org/viewvc?rev=1086489&view=rev
Log:
Fix issue #3840, "empty conflict description in db after update from 1.6".
* subversion/libsvn_wc/entries.c
(write_entry): Strip one level of skel-wrapping () from TREE_CONFLICT_DATA
when upgrading entries.
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=1086489&r1=1086488&r2=1086489&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_wc/entries.c (original)
+++ subversion/trunk/subversion/libsvn_wc/entries.c Tue Mar 29 06:06:01 2011
@@ -1824,8 +1824,20 @@ write_entry(struct write_baton **entry_n
if (entry->tree_conflict_data)
{
+ /* Issue #3840: 1.6 uses one pair of () more than we do, so
+ strip it. Thus, "()" becomes NULL and "((skel1) (skel2))"
+ becomes "(skel1) (skel2)". */
+ svn_skel_t *skel;
+
actual_node = MAYBE_ALLOC(actual_node, scratch_pool);
- actual_node->tree_conflict_data = entry->tree_conflict_data;
+ skel = svn_skel__parse(entry->tree_conflict_data,
+ strlen(entry->tree_conflict_data),
+ scratch_pool);
+ if (skel->children)
+ actual_node->tree_conflict_data = svn_skel__unparse(skel->children,
+ result_pool)->data;
+ else
+ actual_node->tree_conflict_data = NULL;
}
if (entry->file_external_path != NULL)