cmpilato_at_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_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-03-15 20:28:06 CET