Я хочу выполнить svn delete
из своего приложения Grails. Я протестировал обе следующие возможности в консоли Grails:
"svn delete /usr/share/mydir".execute()
Runtime.getRuntime().exec("svn delete /usr/share/mydir")
В обоих случаях возвращается экземпляр java.lang.Process
, но команда не выполняется(/usr/share/mydir
не удаляется ).
Такое поведение происходит только тогда, когда приложение работает в Linux (Ubuntu ). Если я запускаю его в Windows, команда выполняется.
Следуя совету Тима в комментариях, я изменил команду, чтобы она перехватывала вывод процесса:
def process = "svn delete /usr/share/mydir".execute()
def out = new StringBuilder()
process.waitForProcessOutput(out, new StringBuilder())
println "$out"
Теперь я понимаю, что причина неудачи в том, что:
error svn: Can't open file '/usr/share/mydir/.svn/lock': Permission denied