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