Reduce spurious conflicts during commit. Two txns that are not meant
to conflict, a file content change and a directory property change,
can generate a spurious conflict when the txns are built in parallel.
When doing this from a working copy, simply retrying the commit would
allow it to complete, no update was necessary, indicating that the
commit was spurious.

Spurious conflicts are still possible, but are now less likely.

* subversion/libsvn_fs_fs/tree.c
  (merge): Handle ancestor directory property change.

* subversion/libsvn_fs_x/tree.c
  (merge): Handle ancestor directory property change.

* subversion/tests/libsvn_fs/fs-test.c
  (unordered_txn_dirprops, dir_prop_merge): Now only fails on BDB.


git-svn-id: https://svn.apache.org/repos/asf/subversion/trunk@1908595 13f79535-47bb-0310-9956-ffa450edef68
3 files changed