I have created an issue (
http://code.google.com/p/ivysvn/issues/detail?id=18
) with the full stack trace, I believe that the problem is in the
class
fm.last.ivy.plugins.svnresolver.SvnPublishTransaction at the method
public void commit() throws SVNException, IOException {
// reset the repository to its root and tell it to connect if
necessary
SVNURL root = commitRepository.getRepositoryRoot(true);
commitRepository.setLocation(root, false);
commitEditor = commitRepository.getCommitEditor(commitMessage,
null);
commitStarted = true;
commitEditor.openRoot(-1);
int putFileCount = commitTree(publishTree);
if (putFileCount == 0) {
commitEditor.abortEdit();
Message.info("Nothing to commit");
} else {
Map<String, String> foldersToCopy = prepareBinaryDiff
(publishTree); // prepare binary diff in existing
// transaction
commitEditor.closeDir(); // close root
SVNCommitInfo info = commitEditor.closeEdit();
Message.info("Commit finished " + info);
copyDiff(foldersToCopy);
}
}
I have not experience using the the SVNKit API, but think that the
problem is that you are going back to the "real" root directory '/
svn/' (SVNURL root = commitRepository.getRepositoryRoot(true);
commitRepository.setLocation(root, false);) instead of using the
value I provided in the ivysettings file: repositoryRoot="http://
10.10.1.26/svn/ivy/".
http://10.10.1.26/svn is the root, but that root is forbidden because
everyone is not allowed to see a list of all the projects in our
subversion server. I know this configuration works because we have
many Eclipse projects and we connect using TortoiseSVN, and Eclipse
subclipse and subversive plugins and everything works fine (subclipse
and subversive only complain about the restricted ROOT the first time
a project is "shared" but it is just a warning, not an error)
How can I reach the value I wrote in repositoryRoot at ivysettings
and use that as a root here?