Allow for more fine-grained cancellation in the svn patch code.
Allow for more fine-grained cancellation in the svn patch code.

* subversion/libsvn_client/patch.c
  (match_hunk, scan_for_match, get_hunk_info, apply_one_patch):
   Accept CANCEL_FUNC and CANCEL_BATON parameters, and use them
   in strategic places. Hunk matching can take quite a bit of time
   for large files but does not modify the working copy, so allowing
   cancellation during it makes sense.
  (install_patched_target): Allow cancellation in one case, and clearly
   document why cancellation is being suppressed in other cases.
  (delete_empty_dirs): Allow cancellation while deleting directories.
  (apply_patches): Pass cancel_func and cancel_baton to apply_one_patch().

Suggested by: gstein

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