Hello Randy, I think your use-case should be well supported by SVNKit and it works in many applications already.
May be if you may create a self-contained test that reproduces the problem, then it will be easier for me to find the problem in your code. Thanks! 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:45, Cobb, Randal <[email protected]> wrote: > 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. >>> >>> >> > > >
