'svn diff --cl=svn:shelf:SHELF' runs a diff on the shelf named SHELF. This is an alternative to the 'svn shelf-diff' command. Most 'svn diff' options are supported; --depth and --ignore-ancestry are not yet supported.
* subversion/include/private/svn_client_private.h, subversion/libsvn_client/shelf.c (svn_client__shelf_diff): Add depth and ignore-ancestry options (not yet supported). Constify the diff processor parameter. (file_changed, file_deleted, file_added, diff_baton_t): Adjust for that 'const' change.
* subversion/libsvn_client/diff.c (diff_shelf, diff_shelves): New. (do_diff): Look for shelf diffs in the WC-WC diff case.