On Thu, Jun 20, 2013 at 06:15:52PM +0530, Arwin Arni wrote: > 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)); Shouldn't svn_repos__validate_prop accept NULL values as valid? There is (at present) no value of NAME for which NULL is not a valid value. Daniel > + } > > /* Fetch OLD_VALUE for svn_fs_change_rev_prop2(). */ > if (old_value_p)