[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.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.