My apologies… fat-fingered the transcribe… it IS a List of SVNRevisionRange 
objects.   And how I'm constructing them could be part of the issue.  After I 
detect the eligible revisions to merge, I'm adding them to the List with this:

revisionsToMerge.add(new SVNRevisionRange(SVNRevision.create(eligibleRev-1), 
SVNRevision.create(eligibleRev)));

It basically iterates over a segmented list of eligible revisions (i.e. "9434", 
"9522", "9543", "9544", etc.) to construct the SVNRevisionRange objects.

the final goal is to display a list of eligible revisions on a GUI page, have 
the end-user select the specific revisions to merge, then have the process 
perform the merge.  As an interim step and proof-of-concept, I'm just iterating 
over ALL the eligible revisions until the actual merge process works as 
expected, so I'm basically taking the entire list of eligible revisions, adding 
them to a list of SVNRevisionRange objects, then iterating over that list 
trying to merge each one individually.

Cheers!
Randy



On Sep 21, 2011, at 2:30 PM, Alexander Kitaev wrote:

> Hello Randy,
> 
>> …with "rangeToMerge" containing the eligible revision numbers from a 
>> List<SVNRevision>
> 
> rangeToMerge should be a list of SVNRevisionRange objects, not
> SVNRevision. I think this might be a reason of the problem.
> 
> However, I think you should rather get a ClassCastException, then just
> no merge being performed...
> 
> Alexander Kitaev,
> TMate Software,
> http://svnkit.com/ - Java [Sub]Versioning Library!
> http://hg4j.com/ - Java Mercurial Library!
> http://sqljet.com/ - Java SQLite Library!
> 
> 
> 
> On 21 September 2011 20:09, Cobb, Randal <[email protected]> wrote:
>> Hello all,
>> 
>> I am somewhat new to SVNkit, so I'm sure I'm simply doing something wrong or 
>> what I need to educate myself on, but I can't seem to find out exactly WHAT…
>> 
>> I have the following scenario:  I need to programmatically check out a 
>> branch from a repository, then determine the eligible revision numbers to 
>> merge in from an up-stream branch, then merge in each of those eligible 
>> revisions (one at a time in a loop so I can programmatically preserve the 
>> author) into the newly checked out working copy, finally committing the 
>> merged in revisions.
>> 
>> I've been able to successfully checkout a fresh working copy, and determine 
>> the list of eligible revisions, but it seems to not do anything on the 
>> actual merge itself (command-line "svn status" shows no changes in the 
>> working copy after each iteration through the loop) but a manual diff 
>> between the two branches shows a large number of changes.
>> 
>> Here's the form of doMerge I'm using:
>> 
>> for (SVNRevision rangeToMerge : eligibleRevisions) {
>>    diffClient.doMerge(url, SVNRevision.HEAD, 
>> Collections.singleton(rangeToMerge), target, SVNDepth.UNKNOWN, true, false, 
>> false, false);
>> }
>> 
>> …with "rangeToMerge" containing the eligible revision numbers from a 
>> List<SVNRevision>, "url" being the SOURCE branch SVNURL, and "target" being 
>> the freshly checked-out working copy folder.  The only argument I'm not sure 
>> about is the SVNRevision.HEAD as the pegRevision value, should this be set 
>> to the revision I want to merge from, or should that be NULL?
>> 
>> I've also tried setting the "force" value to true, but I get similar results.
>> 
>> Would anyone please be so kind as to suggest anything or anywhere I should 
>> start looking?
>> 
>> Thanks in advance!
>> 
>> Cheers!
>> Randy
>> 
>> 
>> 
>> ----------------------------------------------------------------------
>> This message and any attachments are intended only for the use of the 
>> addressee and may contain information that is privileged and confidential. 
>> If the reader of the message is not the intended recipient or an authorized 
>> representative of the intended recipient, you are hereby notified that any 
>> dissemination of this communication is strictly prohibited. If you have 
>> received this communication in error, notify the sender immediately by 
>> return email and delete the message and any attachments from your system.
>> 
>> 
> 


Reply via email to