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)