Hello, thanks, but also changing the path to File auth = new File("C:\\...\\Subversion"); does not work and ends with the same result, for both cases.
No, native SVN (on the sommand line) does not ask to enter something. My understanding was that these information are stored. The following Subversion folders contain entries: auth\svn.simple auth\svn.ssl.server All paths are escaped correctly. With "jsvn", I've tried to perform a Checkout. I obviously have to enter credentials freshly in the application mask. But what I need is to re-use the stored information, non-interactively. What should I do know? Any further idea? Thank you. Michael > Both of the approached are nearly correct, but instead of specifying path > to "auth" directory > > File auth = new File("C:\\...\\auth"); > ISVNAuthenticationManager authManager = > SVNWCUtil.createDefaultAuthenticationManager(auth); > > one should specify path to config directory > > File auth = new File("C:\\...\\Subversion"); > ISVNAuthenticationManager authManager = > SVNWCUtil.createDefaultAuthenticationManager(auth); > > Could you try with "jsvn" utility that is distributed together with > SVNKit? > Does native SVN ask you to enter something from keyboard (passwords, > secret key)? (by default > SVNWCUtil.createDefaultAuthenticationManager() is non-interactive) > > > And don't forget \\ in paths (should be "C:\\target"): > SvnTarget.fromFile(new File("C:\target")) > > -- > Dmitry Pavlenko, > TMate Software, > http://subgit.com/ - git-svn bridge > >> Hello, >> thank you, but I don't get it to work. >> I've tried to different approaches to successfully connect to the SVN >> repo: >> >> *** ONE *** >> try { >> String repo = "https://path/path"; >> DAVRepositoryFactory.setup(); >> SVNURL url = SVNURL.parseURIDecoded(repo); >> final SvnOperationFactory svnOperationFactory = new >> SvnOperationFactory(); >> final ISVNAuthenticationManager authenticationManager = >> SVNWCUtil.createDefaultAuthenticationManager(); >> svnOperationFactory.setAuthenticationManager(authenticationManager); >> try { >> final SvnCheckout checkout = >> svnOperationFactory.createCheckout(); >> checkout.setSource(SvnTarget.fromURL(url)); >> checkout.setSingleTarget(SvnTarget.fromFile(new >> File("C:\target"))); >> checkout.run(); >> } finally { >> svnOperationFactory.dispose(); >> } >> } catch (SVNException e) { >> e.printStackTrace(); >> } >> >> >> *** TWO *** >> String repo = "https://path/path"; >> DAVRepositoryFactory.setup(); >> File auth = new File("C:\\...\\auth"); >> ISVNAuthenticationManager authManager = >> SVNWCUtil.createDefaultAuthenticationManager(auth); >> SVNURL url = SVNURL.parseURIDecoded(repo); >> SVNRepository repository = SVNRepositoryFactory.create(url,null); >> repository.setAuthenticationManager(authManager); >> System.err.println(repository.getLatestRevision()); >> >> Both result in >> >> org.tmatesoft.svn.core.SVNAuthenticationException: svn: E170001: >> Authentication required for '<https://xxx:443> Subversion Server on ABC' >> at >> org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVN >> ErrorManager.java:47) at >> org.tmatesoft.svn.core.internal.wc.SVNErrorManager.authenticationFailed(SVN >> ErrorManager.java:41) at >> org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getFirst >> Authentication(DefaultSVNAuthenticationManager.java:186) at >> org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConn >> ection.java:654) at >> [...] >> >> >> What's wrong with the snippets? What do I have to change? On the >> console, >> I can work with the SVN command line interface because the credentials >> are >> stored in the folder "C:\\...\\auth". >> >> >> Thank you. >> >> Regards >> Michael >> >> > Hello Michael, >> > To create an authentication manager that uses settings from >> ~/.subversion >> > directory use >> > SVNWCUtil#createDefaultAuthenticationManager. >> > >> > If you want to look at credential that it provides --- usually one >> > haven't to look at those >> > credentials --- use ISVNAuthenticationProvider#getFirstAuthentication >> > ISVNAuthenticationProvider#getNextAuthentication. SVNAuthentication >> > class (and its subclasses) is >> > an abstraction for credentials. >> > >> > The most common code to use : >> > >> > final SvnOperationFactory svnOperationFactory = new >> > SvnOperationFactory(); final ISVNAuthenticationManager >> > authenticationManager = >> > SVNWCUtil.createDefaultAuthenticationManager(); >> > svnOperationFactory.setAuthenticationManager(authenticationManager); >> > try { >> > >> > // any operations, >> > final SvnCheckout checkout = svnOperationFactory.createCheckout(); >> > checkout.setSource(SvnTarget.fromURL(url)); >> > checkout.setSingleTarget(SvnTarget.fromFile(workingCopyDirectory)); >> > checkout.run(); >> > >> > } finally { >> > >> > svnOperationFactory.dispose(); >> > >> > } >> > >> > -- >> > Dmitry Pavlenko, >> > TMate Software, >> > http://subgit.com/ - git-svn bridge >> > >> >> Hello, >> >> >> >> having a "ISVNAuthenticationProvider authenticationProvider", how can >> I >> >> get credentials to be used to access a Subversion repository with a >> >> command like "svn --username YYY --password XXX status". In other >> words, >> >> I'd like to re-use stored credentials dynamically to access a repo, >> but >> >> I'm not sure how to do it. Background: I'm inside a build server >> plugin, >> >> which uses the SVNKit. >> >> >> >> >> >> Thank you. >> >> >> >> >> >> Regards >> >> Michael > >