[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Fold the merge_automatic API into the existing merge_peg API

From: Julian Foad <julianfoad_at_btopenworld.com>
Date: Wed, 27 Mar 2013 16:18:48 +0000 (GMT)

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_at_PEG††† ††† ††† ††† ††on branch URL_at_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
Received on 2013-03-27 17:19:24 CET

This is an archived mail posted to the Subversion Dev mailing list.