You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by st...@apache.org on 2014/08/19 16:58:38 UTC
svn commit: r1618880 - in /subversion/trunk/notes/api-errata/1.9: ./
fs001.txt
Author: stefan2
Date: Tue Aug 19 14:58:37 2014
New Revision: 1618880
URL: http://svn.apache.org/r1618880
Log:
Add an erratum for svn_fs_props_changed and svn_fs_contents_changed.
* notes/api-errata/1.9
(): New folder. It's the first erratum for 1.9.
* notes/api-errata/1.9/fs001.txt
(): New file.
Added:
subversion/trunk/notes/api-errata/1.9/
subversion/trunk/notes/api-errata/1.9/fs001.txt
Added: subversion/trunk/notes/api-errata/1.9/fs001.txt
URL: http://svn.apache.org/viewvc/subversion/trunk/notes/api-errata/1.9/fs001.txt?rev=1618880&view=auto
==============================================================================
--- subversion/trunk/notes/api-errata/1.9/fs001.txt (added)
+++ subversion/trunk/notes/api-errata/1.9/fs001.txt Tue Aug 19 14:58:37 2014
@@ -0,0 +1,41 @@
+API ERRATUM -- $Id$
+
+Root Cause of Errata: implementation/docstring mismatch
+ Library(s) Affected: libsvn_fs_fs, libsvn_fs_base
+Function(s) Affected: svn_fs_props_changed, svn_fs_contents_changed
+ New Behavior in: 1.9
+ Related Issues: n/a
+
+
+== Details ==
+
+The docstrings for svn_fs_props_changed and svn_fs_contents_changed
+did not state that these functions would only perform backend (BDB,
+FSFS) specific quick checks. Moreover, the implementation of
+svn_fs_props_changed would not only generate false positives as
+svn_contents_changed did -- which could later be identified by the
+caller -- but also false negatives.
+
+This behavior makes these APIs very hard to use inefficiently and
+creates dependencies between implementation details and API users.
+
+For the 1.9 release, the implementations were fixed to never return
+false negatives and to produce false positives in fewer cases. The
+docstrings have been updated to explain the approximative nature of
+these API and note the pre-1.9 deviation.
+
+Also, svn_fs_props_different and svn_fs_contents_different have been
+added as "strict" counterparts to the older quick check functions.
+These new API functions will neither produce false positives nor false
+negatives.
+
+
+== Impact on API Users ==
+
+If an API user expected false positives e.g. in the case of a parent
+path change path, their code may no longer produce the same results.
+
+All API users should review their use of svn_fs_props_changed as
+well as svn_fs_contents_changed and consider using the new APIs,
+svn_fs_props_different and svn_fs_contents_different, instead.
+
Re: svn commit: r1618880 - in /subversion/trunk/notes/api-errata/1.9:
./ fs001.txt
Posted by Stefan Fuhrmann <st...@wandisco.com>.
On Tue, Aug 19, 2014 at 5:17 PM, Bert Huijben <be...@qqmail.nl> wrote:
>
>
> > -----Original Message-----
> > From: stefan2@apache.org [mailto:stefan2@apache.org]
> > Sent: dinsdag 19 augustus 2014 16:59
> > To: commits@subversion.apache.org
> > Subject: svn commit: r1618880 - in
> /subversion/trunk/notes/api-errata/1.9: ./
> > fs001.txt
> >
> > Author: stefan2
> > Date: Tue Aug 19 14:58:37 2014
> > New Revision: 1618880
> >
> > URL: http://svn.apache.org/r1618880
> > Log:
> > Add an erratum for svn_fs_props_changed and svn_fs_contents_changed.
> >
> > * notes/api-errata/1.9
> > (): New folder. It's the first erratum for 1.9.
> >
> > * notes/api-errata/1.9/fs001.txt
> > (): New file.
> >
> > Added:
> > subversion/trunk/notes/api-errata/1.9/
> > subversion/trunk/notes/api-errata/1.9/fs001.txt
> >
> > Added: subversion/trunk/notes/api-errata/1.9/fs001.txt
> > URL: http://svn.apache.org/viewvc/subversion/trunk/notes/api-
> > errata/1.9/fs001.txt?rev=1618880&view=auto
> > ==========================================================
> > ====================
> > --- subversion/trunk/notes/api-errata/1.9/fs001.txt (added)
> > +++ subversion/trunk/notes/api-errata/1.9/fs001.txt Tue Aug 19 14:58:37
> > 2014
> > @@ -0,0 +1,41 @@
> > +API ERRATUM -- $Id$
> > +
> > +Root Cause of Errata: implementation/docstring mismatch
> > + Library(s) Affected: libsvn_fs_fs, libsvn_fs_base
> > +Function(s) Affected: svn_fs_props_changed, svn_fs_contents_changed
> > + New Behavior in: 1.9
> > + Related Issues: n/a
> > +
> > +
> > +== Details ==
> > +
> > +The docstrings for svn_fs_props_changed and svn_fs_contents_changed
> > +did not state that these functions would only perform backend (BDB,
> > +FSFS) specific quick checks. Moreover, the implementation of
> > +svn_fs_props_changed would not only generate false positives as
> > +svn_contents_changed did -- which could later be identified by the
> > +caller -- but also false negatives.
> > +
> > +This behavior makes these APIs very hard to use inefficiently and
> > +creates dependencies between implementation details and API users.
>
> ^^^
> 'Hard to use inefficiently'... so it was a well-defined efficient API?
>
Oops .. lol. Fixed in r1618895.
-- Stefan^2.
RE: svn commit: r1618880 - in /subversion/trunk/notes/api-errata/1.9: ./ fs001.txt
Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: stefan2@apache.org [mailto:stefan2@apache.org]
> Sent: dinsdag 19 augustus 2014 16:59
> To: commits@subversion.apache.org
> Subject: svn commit: r1618880 - in /subversion/trunk/notes/api-errata/1.9: ./
> fs001.txt
>
> Author: stefan2
> Date: Tue Aug 19 14:58:37 2014
> New Revision: 1618880
>
> URL: http://svn.apache.org/r1618880
> Log:
> Add an erratum for svn_fs_props_changed and svn_fs_contents_changed.
>
> * notes/api-errata/1.9
> (): New folder. It's the first erratum for 1.9.
>
> * notes/api-errata/1.9/fs001.txt
> (): New file.
>
> Added:
> subversion/trunk/notes/api-errata/1.9/
> subversion/trunk/notes/api-errata/1.9/fs001.txt
>
> Added: subversion/trunk/notes/api-errata/1.9/fs001.txt
> URL: http://svn.apache.org/viewvc/subversion/trunk/notes/api-
> errata/1.9/fs001.txt?rev=1618880&view=auto
> ==========================================================
> ====================
> --- subversion/trunk/notes/api-errata/1.9/fs001.txt (added)
> +++ subversion/trunk/notes/api-errata/1.9/fs001.txt Tue Aug 19 14:58:37
> 2014
> @@ -0,0 +1,41 @@
> +API ERRATUM -- $Id$
> +
> +Root Cause of Errata: implementation/docstring mismatch
> + Library(s) Affected: libsvn_fs_fs, libsvn_fs_base
> +Function(s) Affected: svn_fs_props_changed, svn_fs_contents_changed
> + New Behavior in: 1.9
> + Related Issues: n/a
> +
> +
> +== Details ==
> +
> +The docstrings for svn_fs_props_changed and svn_fs_contents_changed
> +did not state that these functions would only perform backend (BDB,
> +FSFS) specific quick checks. Moreover, the implementation of
> +svn_fs_props_changed would not only generate false positives as
> +svn_contents_changed did -- which could later be identified by the
> +caller -- but also false negatives.
> +
> +This behavior makes these APIs very hard to use inefficiently and
> +creates dependencies between implementation details and API users.
^^^
'Hard to use inefficiently'... so it was a well-defined efficient API?
Or was it too easy to use it in the wrong way?
Can you try rephrasing this line?
I need the rest of the explanation to understand what you really try to tell in this sentence.
Bert