Hello Casten, > I've looked into some of the callbacks for SVNCopySource, but it appears I > can only get notifications or callbacks for wc to repo copies. Is there any > relatively simple way to achieve this and if not, what might be the classes I > should look at modifying to add this support. Unfortunately, High Level API of SVNKit is not able to do such tricks. The only option is to use SVNRepository and ISVNEditor interfaces to perform remote copy operation with necessary changes.
If I understand the whole your problem correctly there is a couple of sub-tasks you have to deal with: 1. Collect all the floating externals. For the certain branch in Subversion repository you have to traverse all the directory properties and filter svn:externals with locations pointing to HEAD revision. Probably the most efficient solution is to run SVNRepository#status with your implementation of ISVNEditor which will not receive file contents but will receive necessary properties via a few requests, instead of fetching directory properties recursively. 2. Once you have externals, you have to run commit editor (see SVNRepository#getCommitEditor). In order to understand which methods of ISVNEditor you should call, try exactly the same operation with your working copy: - Create working copy with externals locations you'd like to pin. - Modify svn:externals properties as needed. - Enable SVNKit logging, see https://wiki.svnkit.com/Troubleshooting. - Run the following command with jsvn utility: $ jsvn copy -m "Commit message" $wc $repository After that you'll find the connection log file with corresponding method calls. Another hint is to use internal API — SVNCommitUtil#driveCommitEditor. This method makes it a bit easier to run ISVNEditor with known modified paths. Hope that helps. Semen Vadishev, TMate Software, http://svnkit.com/ - Java [Sub]Versioning Library! http://sqljet.com/ - Java SQLite Library! On 19 May 2011 19:01, Casten Riepling wrote: > Hi folks, > > I'm looking for information and guidance on how I might handle or implement > the following case: > > When performing a copy operation, I'd like to pin any floating svn externals > to their current revision. I'd like this to work for a repo to repo copy, > not wc. > > I've looked into some of the callbacks for SVNCopySource, but it appears I > can only get notifications or callbacks for wc to repo copies. Is there any > relatively simple way to achieve this and if not, what might be the classes I > should look at modifying to add this support. > > Thank you for your help and guidance. > > -Casten > > >
