Remove a result_pool argument from a new in 1.8 function that doesn't have output arguments. Values passed to a callback shouldn't be allocated in a global result pool, but in some iterpool. Storing everything in a result hash breaks the streamy api pattern.
* subversion/libsvn_client/prop_commands.c (pristine_or_working_props): Remove function. Fold in only caller. (remote_proplist): Add cancel_func. Remove result pool. Don't duplicate the entire hash to remove 3 or 4 entry props. Handle cancelation. Rename subpool to iterpool. (get_remote_props): Remove result pool. Update caller. (get_local_props): Fold in pristine_or_working_props. (svn_client_proplist4): Remove argument. Fix typo.
In Subversion 1.7 we added an --ignore-ancestry flag to switch, but even without that flag we don't use the ancestry to properly identify tree conflicts caused by switching. To do that we must ask the repos layer (via the ra layer) to notice ancestry.
This patch updates all ra layers to allow noticing ancestry during switching.
For ra_local and ra_serf this works for all existing server versions, but for ra_svn this requires a new svnserve. (Our dav protocol already supported ignore_ancestry and send copyfrom args as separate flags)
If necessary we could rev the client switch api to use separate ignore and notice ancestry flags, but I don't think this is necessary in this case.
This patch also resolves an Subversion 1.5 'sussman TODO', by also adding a send_copyfrom_args option.
* subversion/include/svn_ra.h (svn_ra_do_switch3): New function, adding two booleans and using dual pools. (svn_ra_do_switch2): Deprecate function.