API ERRATA -- $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.0-1.9.2 (only, see note below) Related Issues: 4598 [ Note: This only applies to Subversion 1.9.0-1.9.2; later versions restore the original behavior of svn_fs_props_changed and svn_fs_contents_changed. The new svn_fs_props_different svn_fs_contents_different functions are available for the API users as well. References: https://issues.apache.org/jira/browse/SVN-4598 https://mail-archives.apache.org/mod_mbox/subversion-dev/201509.mbox/%3CCAB84uBVe8QnEpbPVAb__yQjiDDoYjFn2+M9mPcdBXZCwMCpOLw@mail.gmail.com%3E ("No-op changes no longer dumped by 'svnadmin dump' in 1.9") https://mail-archives.apache.org/mod_mbox/subversion-dev/201302.mbox/%3C510B6AE9.9070106@collab.net%3E ("Re: Reintegrate-like merges and diff_ignore_ancestry") ] == 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 efficiently and creates dependencies between implementation details and API callers. 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 produce neither false positives nor false negatives. == Impact on API Users == If an API user relied on 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.