PHPでsvnをある程度自動化したいが、apache権限で実行してしまうので色々不都合がある。 apacheユーザをsvn認証に登録する方法も考えられるが、やはり一般ユーザで実行するのがスマート。
てことで、svnコマンドのオプションを調べたら、
--username --password
がありました(そのままじゃん)。 ※当たり前ですが、ユーザ名、パスワード(BASIC認証)は予め設定してあることが前提
$cmd = "svn mkdir http://hoge.com/svn/repos_name/trunk -m 'trunk' --username 'xxx' --password 'xxx'";
exec($cmd, $output, $ret);
ちなみに、--no-auth-cache を利用すると認証情報をキャッシュしない。