Linuxボックスで、次のSVNimport
コマンドを作成しています。
svn import
--non-interactive
--trust-server-cert
--username username
--password password
-m "a message"
/path/to/local.zip
https://sub.domain.net/path/to/export.zip
コマンドラインから自分で呼び出すと、問題なく動作します。
ただし、Javaコマンドプロンプトを使用してこの呼び出しを行うと、コマンドに引数が多すぎるというエラーメッセージが表示されますimport
。
誰かがこれを引き起こしている可能性があることを知っていますか?
その他の注意事項
import
Javaで生成されたsvnコマンドをログファイルからコンソールにコピーして貼り付けると、インポートは期待どおりに機能します。Java内からSVN
export
コマンドを問題なく使用できます一
'
重引用符を使用してみました
編集
これらの呼び出しを行うためのコードは次のとおりです。
private void exportToSvn()
String command = String.format(
"svn import --non-interactive --trust-server-cert " +
"--username %s --password %s -m %s %s %s",
username, password, "\"a message\"", "/path/to/local.zip",
"https://sub.domain.net/path/to/export.zip"
);
command( command );
}
private void command( String... commands ) throws IOException, InterruptedException {
Runtime rt = Runtime.getRuntime();
for( String command : commands ){
Process pr = rt.exec( command );
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
logger.debug( command );
String line;
while ( (line = input.readLine()) != null)
logger.debug("> " + line);
}