ウェブサイトの起動とバージョン管理を自動化するために、svn を php スクリプトに統合しようとしています。
svn および svnadmin コマンドと一緒に exec php コマンドを使用して、作成の手順中にいくつかのチェックを行いました。
したがって、(存在しないリポジトリの) make および hotcopy を実行すると、値 1 (およびその正しい) が返されますが、svnadmin create (完全にばかげたパスを使用) は常に 0 を返します (コンテンツが作成された場合と同様ですが、それは正しくありません!)
public function routine($istr, $search, $replace) {
$output = array();
$returnvar = 0;
$istr = str_replace($search,$replace,$istr);
exec($istr." 2>&1", $output,$returnvar);
$this->addMessage($istr);
if($returnvar != 0) {
$this->addMessage("!!! GOT ERRORS !!!");
$this->addMessage(implode("\n", $output));
}
}
このルートは実際には機能しますが、returnvar は常に 0 です (svnadmin コマンドが hotcopy と異なる場合)。
関数の意味は、エラーが発生した場合にのみ完全な出力を表示したいということです。それ以外の場合は何も表示しない (または確認メッセージを表示する)
誰かが前もって助けてくれることを願っています