On 05.08.2013 12:14, Konstantin Kolosovsky wrote: > Hi Everyone, > > I've got a question about "--non-interactive" and > "--force-interactive" flags behavior in Subversion 1.8. > I'm not subscribed to the mailing list, please put my email in Cc in > any responses. > > We've got java application interacting with svn.exe command line > utility. For Subversion 1.7 our authentication behavior was the following: > - executing command using svn.exe, for instance "svn udpate" > - getting "authentication realm" from process output > - destroying process > - creating correct credential cache for the obtained "authentication > realm" (for instance, correct file with encrypted password in the > "auth" folder for Windows) > - executing command using svn.exe once again - so that authentication > goes smoothly as necessary information is in credential cache > > With Subversion 1.8 client we can not get "authentication realm" to > create correct credential cache information: > - if not specifying "--force-interactive" flag or specifying > "--non-interactive" flag - process output contains authentication > failure message, but only with repository url - not the > "authentication realm" > - if specifying "--force-interactive" flag - process "hangs" not > providing any output - so there is no way to get "authentication > realm" from it and then destroy the process > > So the question is - is it possible to somehow return previous > behavior of svn.exe client - so that it does not "hang" but just > "waiting" for the "user input" providing necessary "authentication > realm" in the output? > Or what would you recommend in such situation when authentication is > necessary when interacting with svn.exe utility from java application? > Is directly specifying "--username" and "--password" keys the only > available option?
If you use --force-interactive, you're telling Subversion to prompt the terminal, if any -- as of 1.8, prompting on stdin/stderr is only the last resort. So for scripting the command-line client the way you're doing, I'd recommend to pass --non-interactive and --username and --password. The better option of course is to just use the JavaHL API instead. -- Brane -- Branko Čibej | Director of Subversion WANdisco // Non-Stop Data e. br...@wandisco.com