subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From danie...@apache.org
Subject svn commit: r1086489 - /subversion/trunk/subversion/libsvn_wc/entries.c
Date Tue, 29 Mar 2011 06:06:02 GMT
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)



Mime
View raw message