Make the copy helper code handle work items instead of temp paths. This allows applying several optimizations that can't be handled on a higher layer. Reduce the number of separate working queue items and the number of runs of the work queue to boost copy performance.
Make the copy helper code handle work items instead of temp paths. This allows
applying several optimizations that can't be handled on a higher layer. Reduce
the number of separate working queue items and the number of runs of the work
queue to boost copy performance.

* subversion/libsvn_wc/copy.c
  (copy_to_tmpdir): Produce a working copy item. Take more arguments to make
    a better decision on how to handle the copy.
  (copy_versioned_file): Remove unused variable. Update caller. Only run the
    queue if we do a notification now.
  (copy_versioned_dir): Update caller. Only run the queue before producing a
    notification. Collect workqueue items instead of installing them one at a
    time.
  (copy_or_move): Run the workqueue when done.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@1346337 13f79535-47bb-0310-9956-ffa450edef68

YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion