Fix the possibility of data loss caused by multiple merges (the first of which adds a new item to the WC), and a subsequent commit.  A timestamp comparison which occurs between merges and the commit may fail to correctly ascertain the state of the WC, and the repository reflects only the initial merge (likely based on the copyfrom revision of the add), losing subsequent merges and any manual modifications.
Fix the possibility of data loss caused by multiple merges (the first
of which adds a new item to the WC), and a subsequent commit.  A
timestamp comparison which occurs between merges and the commit may
fail to correctly ascertain the state of the WC, and the repository
reflects only the initial merge (likely based on the copyfrom revision
of the add), losing subsequent merges and any manual modifications.

While unlikely in typical usage, VC/SCM automation which peforms
merges in quick succession could tickle this problem.

* subversion/libsvn_client/diff.c
  (do_merge, do_single_file_merge): Sleep until the next second.

Suggested by: philip
              rooneg

jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion,jmckaskill/subversion