Restore the 1.8 behavior of svn_fs_contents_changed() and _props_changed(), and switch all calling sites of the new API, svn_fs_contents_different() and _props_different() back to using the old functions. There were no user-visible problems associated with the old code. The new API doesn't improve any real use cases in the current code, but is causing problems: - We had a problem with misbehaving svn blame -g (http://svn.haxx.se/dev/archive-2015-06/0069.shtml, "Blame behaviour change in 1.9"). - We have an issue with repositories behaving differently in client-side operations like 'svn log' after dump/load (http://svn.haxx.se/dev/archive-2015-09/0269.shtml, "No-op changes no longer dumped by 'svnadmin dump' in 1.9"; also see issue #4598 in https://issues.apache.org/jira/browse/SVN-4598). - We could experience same problems originating from other callers of the new API, because the low level behavior change associated with switching to it propagates up to higher levels like svn_repos or svn_ra and alters the behavior of many different callers like svn_ra_get_file_revs2() or the update reporter. Third-party API callers could not be ready for it as well, because public API functions like svn_ra_get_file_revs2() didn't receive the erratum or a bump. See the discussion in http://svn.haxx.se/dev/archive-2015-10/0022.shtml ("Re: No-op changes no longer dumped by 'svnadmin dump' in 1.9"). * subversion/libsvn_fs_base/dag.c (svn_fs_base__things_different): Compare the uniquifiers, as we did in 1.8. * subversion/libsvn_fs_base/fs.h (node_revision_t.data_key_uniquifier): Remove the comment about not using this field. * subversion/libsvn_fs_fs/fs_fs.c (svn_fs_fs__noderev_same_rep_key): Reintroduce this helper function. (svn_fs_fs__file_text_rep_equal, svn_fs_fs__prop_rep_equal): Always assume the strict mode in these helpers. * subversion/libsvn_fs_fs/fs_fs.h (svn_fs_fs__noderev_same_rep_key): Declare the reintroduced helper. (svn_fs_fs__file_text_rep_equal, svn_fs_fs__prop_rep_equal): Update the docstrings for these helper functions. * subversion/libsvn_fs_fs/dag.c (svn_fs_fs__dag_things_different): Preserve the current comparison behavior in strict mode. Restore the 1.8 way of comparing the representation keys in non-strict mode. * subversion/libsvn_fs_fs/tree.c (merge): Restore the 1.8 way of comparing property lists. * subversion/libsvn_fs_fs/fs.h (representation_t.uniquifier): Remove the comment about not using this field. * subversion/libsvn_repos/delta.c (delta_proplists): Switch back to using svn_fs_props_changed(). (svn_repos__compare_files): Restore this function to its 1.8 state. (delta_files): Restore the 1.8 way of comparing files. * subversion/libsvn_repos/dump.c (dump_node): Switch back to using svn_fs_contents_changed() and svn_fs_props_changed(). * subversion/libsvn_repos/reporter.c (delta_proplists): Switch back to using svn_fs_props_changed(). * subversion/libsvn_repos/rev_hunt.c (send_path_revision): Switch back to using svn_fs_contents_changed(). Remove the no longer necessary hack for svn blame -g with older clients. * subversion/include/svn_ra.h (svn_ra_get_file_revs2): Remove the 1.9-specific behavior note. * subversion/include/svn_repos.h (svn_repos_get_file_revs2): Remove the 1.9-specific behavior note. * subversion/tests/cmdline/svnadmin_tests.py (dump_no_op_change): No longer fails with fsfs and bdb.