Author: breser
Date: Tue Dec 18 19:34:52 2012
New Revision: 1423594

URL: http://svn.apache.org/viewvc?rev=1423594&view=rev
Log:
On '1.7.x-issue4263' branch: Merge r1423585 from trunk.

Clean merge.


Modified:
    subversion/branches/1.7.x-issue4263/   (props changed)
    subversion/branches/1.7.x-issue4263/subversion/svnrdump/load_editor.c
    subversion/branches/1.7.x-issue4263/subversion/svnrdump/svnrdump.h
    subversion/branches/1.7.x-issue4263/subversion/svnrdump/util.c
    
subversion/branches/1.7.x-issue4263/subversion/tests/cmdline/svnrdump_tests.py

Propchange: subversion/branches/1.7.x-issue4263/
------------------------------------------------------------------------------
  Merged /subversion/trunk:r1423585

Modified: subversion/branches/1.7.x-issue4263/subversion/svnrdump/load_editor.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x-issue4263/subversion/svnrdump/load_editor.c?rev=1423594&r1=1423593&r2=1423594&view=diff
==============================================================================
--- subversion/branches/1.7.x-issue4263/subversion/svnrdump/load_editor.c 
(original)
+++ subversion/branches/1.7.x-issue4263/subversion/svnrdump/load_editor.c Tue 
Dec 18 19:34:52 2012
@@ -729,6 +729,8 @@ set_revision_property(void *baton,
 {
   struct revision_baton *rb = baton;
 
+  SVN_ERR(svn_rdump__normalize_prop(name, &value, rb->pool));
+  
   SVN_ERR(svn_repos__validate_prop(name, value, rb->pool));
 
   if (rb->rev > 0)
@@ -808,6 +810,8 @@ set_node_property(void *baton,
         }
     }
 
+  SVN_ERR(svn_rdump__normalize_prop(name, &value, pool));
+
   SVN_ERR(svn_repos__validate_prop(name, value, pool));
 
   switch (nb->kind)

Modified: subversion/branches/1.7.x-issue4263/subversion/svnrdump/svnrdump.h
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x-issue4263/subversion/svnrdump/svnrdump.h?rev=1423594&r1=1423593&r2=1423594&view=diff
==============================================================================
--- subversion/branches/1.7.x-issue4263/subversion/svnrdump/svnrdump.h 
(original)
+++ subversion/branches/1.7.x-issue4263/subversion/svnrdump/svnrdump.h Tue Dec 
18 19:34:52 2012
@@ -85,6 +85,20 @@ svn_rdump__normalize_props(apr_hash_t **
                            apr_hash_t *props,
                            apr_pool_t *result_pool);
 
+/* Normalize the line ending style of a single property that "needs
+ * translation" (according to svn_prop_needs_translation(),
+ * currently all svn:* props) so that they contain only LF (\n) line endings.
+ * "\r" characters found mid-line are replaced with "\n".
+ * "\r\n" sequences are replaced with "\n"
+ *
+ * NAME is used to check that VALUE should be normalized, and if this is the
+ * case, VALUE is then normalized, allocated from RESULT_POOL
+ */
+svn_error_t *
+svn_rdump__normalize_prop(const char *name,
+                          const svn_string_t **value,
+                          apr_pool_t *result_pool);
+
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */

Modified: subversion/branches/1.7.x-issue4263/subversion/svnrdump/util.c
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x-issue4263/subversion/svnrdump/util.c?rev=1423594&r1=1423593&r2=1423594&view=diff
==============================================================================
--- subversion/branches/1.7.x-issue4263/subversion/svnrdump/util.c (original)
+++ subversion/branches/1.7.x-issue4263/subversion/svnrdump/util.c Tue Dec 18 
19:34:52 2012
@@ -31,6 +31,25 @@
 
 
 svn_error_t *
+svn_rdump__normalize_prop(const char *name,
+                          const svn_string_t **value,
+                          apr_pool_t *result_pool)
+{
+  if (svn_prop_needs_translation(name))
+    {
+      const char *cstring;
+
+      SVN_ERR(svn_subst_translate_cstring2((*value)->data, &cstring,
+                                           "\n", TRUE,
+                                           NULL, FALSE,
+                                           result_pool));
+
+      *value = svn_string_create(cstring, result_pool);
+    }
+  return SVN_NO_ERROR;
+}
+
+svn_error_t *
 svn_rdump__normalize_props(apr_hash_t **normal_props,
                            apr_hash_t *props,
                            apr_pool_t *result_pool)
@@ -45,16 +64,8 @@ svn_rdump__normalize_props(apr_hash_t **
       const char *key = svn__apr_hash_index_key(hi);
       const svn_string_t *value = svn__apr_hash_index_val(hi);
 
-      if (svn_prop_needs_translation(key))
-        {
-          const char *cstring;
-
-          SVN_ERR(svn_subst_translate_cstring2(value->data, &cstring,
-                                               "\n", TRUE,
-                                               NULL, FALSE,
-                                               result_pool));
-          value = svn_string_create(cstring, result_pool);
-        }
+      SVN_ERR(svn_rdump__normalize_prop(key, &value,
+                                        result_pool));
 
       apr_hash_set(*normal_props, key, APR_HASH_KEY_STRING, value);
     }

Modified: 
subversion/branches/1.7.x-issue4263/subversion/tests/cmdline/svnrdump_tests.py
URL: 
http://svn.apache.org/viewvc/subversion/branches/1.7.x-issue4263/subversion/tests/cmdline/svnrdump_tests.py?rev=1423594&r1=1423593&r2=1423594&view=diff
==============================================================================
--- 
subversion/branches/1.7.x-issue4263/subversion/tests/cmdline/svnrdump_tests.py 
(original)
+++ 
subversion/branches/1.7.x-issue4263/subversion/tests/cmdline/svnrdump_tests.py 
Tue Dec 18 19:34:52 2012
@@ -375,7 +375,6 @@ def copy_bad_line_endings_dump(sbox):
                 expected_dumpfile_name="copy-bad-line-endings.expected.dump",
                 bypass_prop_validation=True)
 
-@XFail()
 @Issue(4263)
 def copy_bad_line_endings_load(sbox):
   "load: inconsistent line endings in svn:* props"


Reply via email to