Brane told me that while updating the JavaHL API he noticed that the new svn_client_merge_automatic() is Yet Another Merge API, and would prefer make the existing JavaHL merge API encompass that functionality rather than add yet another variant. So I said if let's see if we can apply that idea to the libsvn_client API.
Idea: 'automatic' merge is (in a high level logical sense) most similar to a subset of the 'pegged' merge. So make 'merge_peg' do the automatic merge (like calling the automatic merge API) if the params are suitable. The intention is that this should be easier for Subversion client developers to understand and for them to DTRT. API differences between pegged and automatic merge: Pegged merge Automatic merge The 'find'API: Single merge_peg call does Separate'find' and 'do' calls. the whole process. Result of 'find' tells what we found, used for 'svn mergeinfo' graph. Source: revision ranges X:Y[,X:Y...] revision range 0:Y on branch URL@PEG on branch URL@PEG Target: optional non-WC tgt for 'find' If mergeinfo: skip already-merged revs (same) record the merge No mergeinfo: don't skip revs error out don't record Options differ: allow_mixed_rev allow_mixed_rev allow_local_mods allow_switched_subtrees ignore_mergeinfo At that level, it looks close enough to be feasible to embed 'automatic' merge inside 'pegged'. I'm looking closer now. Any thoughts? - Julian -- Certified & Supported Apache Subversion Downloads: http://www.wandisco.com/subversion/download