> Either I open the repository to the path I'm going to use > OR > if I open using the editor, I must open each subdirectory individually. > > But what I cannot do is use the editor to open a directory using a full path > (e.g. /cs/test).
Yes, your assumptions are correct. Alexander Kitaev, TMate Software, http://subgit.com/ - Svn to Git Migration! http://svnkit.com/ - Java [Sub]Versioning Library! http://hg4j.com/ - Java Mercurial Library! http://sqljet.com/ - Java SQLite Library! On 3 May 2013 18:23, Kempton, Jim <jim.kemp...@teradata.com> wrote: > Thanks for the response Alexander. > > So, to summarize, I have two choices. > > Either I open the repository to the path I'm going to use > OR > if I open using the editor, I must open each subdirectory individually. > > But what I cannot do is use the editor to open a directory using a full path > (e.g. /cs/test). > > Correct? > > > -----Original Message----- > From: svnkit-users-boun...@svnkit.com > [mailto:svnkit-users-boun...@svnkit.com] On Behalf Of Alexander Kitaev > Sent: Friday, May 03, 2013 12:08 PM > To: SVNKit Library Users List > Subject: Re: Root permission required? > > Hello Jim, > > To modify a file at /cs/test directory, do the following: > > 1. Create repository with URL http://scm.mydomain.com/repo/cs/test - this is > repository location and this will be commit editor root. > 2. Call ISVNEditor like that: > > editor.openRoot(-1); > editor.openFile("file.txt", -1) // file path relative to the editor root ... > editor.closeFile(); > editor.closeDir(); > editor.closeEdit(); > > In case repository location is at the repositor root, then calls will be: > > editor.openRoot(-1); > editor.openDir("cs", -1); > editor.openDir("cs/test", -1); > editor.openFile("cs/test/file.txt", -1) // file path relative to the editor > root ... > editor.closeFile(); > editor.closeDir(); // cs/test > editor.closeDir(); // cs > editor.closeDir(); // root > editor.closeEdit(); > > Note, that each directory in the path should be opened and closed > individually in descending order. > > Alexander Kitaev, > TMate Software, > http://subgit.com/ - Svn to Git Migration! > http://svnkit.com/ - Java [Sub]Versioning Library! > http://hg4j.com/ - Java Mercurial Library! > http://sqljet.com/ - Java SQLite Library! > > > On 3 May 2013 17:59, Kempton, Jim <jim.kemp...@teradata.com> wrote: >> Hi all, >> >> >> >> I’m just getting started using SVNKit (v. 1.7.9) and have a question I >> hope someone will be able to answer. >> >> >> >> I’ve been able to read files from the repository without any trouble, >> but I’m unable to write to it apparently because my login does not >> have write permission to the repository root -- even though I’m not >> writing to the root. >> >> >> >> So. I create the repository object something like this: >> >> >> >> String svnUrl = “http://scm.mydomain.com/repo”; >> >> SVNRepository repository = SVNRepositoryFactory.create( >> SVNURL.parseURIEncoded( svnUrl ) ); >> >> ISVNAuthenticationManager authManager = new >> BasicAuthenticationManager(username, password); >> >> repository.setAuthenticationManager( authManager ); >> >> >> >> >> >> Then I try to commit a file something like this: >> >> >> >> String scmPath = “/cs/test”; >> >> String filePath = “/cs/text/mytestfile.txt”; >> >> >> >> ISVNEditor svnEditor = repository.getCommitEditor(logMessage, >> null); >> >> svnEditor.openRoot(-1); >> >> svnEditor.openDir(scmPath, -1); >> >> >> >> svnEditor.openFile(filePath, -1); >> >> >> >> svnEditor.applyTextDelta(filePath, null); >> >> >> >> final SVNDeltaGenerator deltaGenerator = new SVNDeltaGenerator(); >> >> final String checksum = deltaGenerator.sendDelta(filePath, new >> ByteArrayInputStream(propertiesBytes), svnEditor, true); >> >> >> >> svnEditor.closeFile(filePath, checksum); >> >> >> >> svnEditor.closeDir(); >> >> svnEditor.closeDir(); >> >> >> >> svnEditor.closeEdit(); >> >> >> >> >> >> >> >> I get an authentication exception as soon as I do the >> svnEditor.openFIle() call. I DO have write permission to the entire >> /cs tree, but not to the repository root. I also get an exception if >> I try to simply skip calling svnEditor.openRoot(). >> >> >> >> I asked the Subversion administrator to grant me write permission to >> the repository root temporarily, and the code worked beautifully. >> >> >> >> So, is there any way we can preserve the permissions and still allow >> SVNKit to write to a subdirectory? >> >> >> >> Thanks for any help you can provide. >> >> >> >> -Jim- >> >> >