Hi,

Properties are validated regardless of the action on the property. This poses a problem when it comes to very old repositories that contain "invalid" properties committed by very old clients that didn't perform these validations. My contention is that we need to check the validity of the property only during addition and modification. Validation during deletion prevents the user from removing what he recognizes as an invalid property.

Regards,
Arwin Arni
* subversion/libsvn_repos/fs-wrap.c
  (svn_repos_fs_change_rev_prop4): Don't validate properties during
                                   deletion.

Patch by Arwin Arni <arwin{_AT_}collab.net>
Index: subversion/libsvn_repos/fs-wrap.c
===================================================================
--- subversion/libsvn_repos/fs-wrap.c   (revision 1494892)
+++ subversion/libsvn_repos/fs-wrap.c   (working copy)
@@ -331,7 +331,12 @@
       char action;
       apr_hash_t *hooks_env;
 
-      SVN_ERR(svn_repos__validate_prop(name, new_value, pool));
+      /* We should validate properties only for additions and 
+         modifications. NEW_VALUE exists in both these cases. */
+      if (new_value)
+        {
+          SVN_ERR(svn_repos__validate_prop(name, new_value, pool));
+        }
 
       /* Fetch OLD_VALUE for svn_fs_change_rev_prop2(). */
       if (old_value_p)

Reply via email to