[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

killed an API (mis)feature (was: svn commit: r942991 ...)

From: Greg Stein <gstein_at_gmail.com>
Date: Mon, 10 May 2010 23:24:15 -0400

Any thoughts on this, people?

On Mon, May 10, 2010 at 23:12, <gstein_at_apache.org> wrote:
>...
> A new errata has been filed to detail this issue, also noting that several
> clients do not attempt to use this removed functionality.
>...
> +++ subversion/trunk/notes/api-errata/wc006.txt Tue May 11 03:12:36 2010
> @@ -0,0 +1,54 @@
> +API ERRATA -- $Id$
> +
> +Root Cause of Errata: incompatible
> + Library(s) Affected: libsvn_wc
> +Function(s) Affected: svn_wc_merge_props2
> +                      svn_wc_merge_props
> +                      svn_wc_merge_prop_diffs
> +     New Behavior in: 1.7
> +      Related Issues: 953
> +
> +
> +== Details of Previous Behavior ==
> +
> +The affected functions have a BASE_MERGE parameter that will cause the
> +function to apply the specified property changes to the pristine
> +("base") properties when set to TRUE.
> +
> +This capability originated in r843714 (aka r3640) to solve issue #953.
> +Prior to that change, merges were updating the pristine properties,
> +and this flag enabled merge to *avoid* that effect.
> +
> +The affected functions are wrappers around internal functions. The
> +(internal) svn_wc__merge_prop_diffs() and its later equivalent,
> +svn_wc__merge_props(), are used by the update editor, so its BASE_MERGE
> +parameter is necessary and appropriate.
> +
> +
> +== Details of New Behavior ==
> +
> +Passing TRUE for BASE_MERGE to any of the affected functions, while
> +DRY_RUN is FALSE, will result in SVN_ERR_UNSUPPORTED_FEATURE.
> +
> +The parameter has been removed from svn_wc_merge_props3().
> +
> +Internal functions still support the parameter, for the benefit up the
> +update editor.
> +
> +
> +== Rationale for Change ==
> +
> +Allowing third-party clients to alter pristine data, to a state NOT
> +defined by the repository could easily lead to working copy corruption
> +(as seen in issue #953), and potentially lead to improper changes
> +applied against a repository.
> +
> +
> +== Impact on API Users ==
> +
> +Clients using the old (deprecated) interfaces which pass TRUE for
> +BASE_MERGE, and FALSE for DRY_RUN, will no longer work after an
> +upgrade to the 1.7 libsvn_wc library.
> +
> +Subversion itself does not use this feature, nor does TortoiseSVN, nor
> +AnkhSVN.
>...
Received on 2010-05-11 05:24:52 CEST

This is an archived mail posted to the Subversion Dev mailing list.