Use bytewise content comparison in the "is the file modified?" working copy
checks if we have the pristine file content in the working copy.

The revised approach prefers bytewise comparison to the checksum comparison
if the pristine content is available.  This also restores the 1.14.x behavior
for existing working copies with pristines or new working copies created
with the --store-pristine=yes option, and avoids a potential change in
characteristics for file comparisons in them.

Discussed in [1].

* subversion/libsvn_wc/questions.c
  (compare_exact): New helper function, factored out from compare_and_verify()
   and extended to support both bytewise and checksum-based comparisons.
  (compare_and_verify): Accept `pristine_stream` and `pristine_size` from
   the caller.  Perform bytewise or checksum-based comparison depending on
   whether `pristine_stream` is available.
  (svn_wc__internal_file_modified_p): Call svn_wc__db_pristine_read().
   Adjust the call to compare_and_verify().  Handle EACCES to
   SVN_ERR_WC_PATH_ACCESS_DENIED error conversion at this level.

[1]: https://lists.apache.org/thread/128rgf7ozn72ljfzn7o18gfhb9l43y26


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1931549 13f79535-47bb-0310-9956-ffa450edef68
1 file changed