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)

Reply via email to