You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Karl Fogel <kf...@red-bean.com> on 2008/03/15 19:27:55 UTC

Re: svn commit: r29876 - trunk/subversion/libsvn_client

cmpilato@tigris.org writes:
> --- trunk/subversion/libsvn_client/merge.c	(original)
> +++ trunk/subversion/libsvn_client/merge.c	Wed Mar 12 10:10:59 2008
> @@ -827,6 +827,15 @@ merge_file_added(svn_wc_adm_access_t *ad
>    for (i = 0; i < prop_changes->nelts; ++i)
>      {
>        const svn_prop_t *prop = &APR_ARRAY_IDX(prop_changes, i, svn_prop_t);
> +
> +      /* If we're merging from a foreign repository, we don't want any
> +         DAV wcprops related to this file (because they'll point to
> +         the wrong repository).  So we'll strip them.  (Is this a
> +         layering violation?)  */
> +      if ((! merge_b->same_repos)
> +          && (svn_property_kind(NULL, prop->name) == svn_prop_wc_kind))
> +        continue;
> +
>        apr_hash_set(new_props, prop->name, APR_HASH_KEY_STRING, prop->value);
>      }

To answer the question posed in your comment:

I don't think its a layering violation; we have other code in
libsvn_client that's aware of what wc_props are and what they mean.
This is probably why 'svn_prop_wc_kind' is publicly exposed, in fact.
See error_if_wcprop_name() in prop_commands.c, for example.

-Karl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org