Tracリポジトリのアクセス権にはまる
Tracのコマンドを叩いていたら、リポジトリの再同期に失敗することに気がついた。
$ trac-admin foo repository resync '*' エラー: コマンドが見つかりません
コマンドが見つからないとは、一体どう言う意味なのだろう?リファレンスを確認してみたり、過去の変更履歴を見ても特に間違っているようには見えない。
ところが、隣のリポジトリに対して同じコマンドを叩くと、今度は無事に成功することに気がついた。
$ trac-admin bar repository resync '*'
問題があるのはコマンドではなくリポジトリの方らしい。試しに、ファイルのアクセス権を(緩く)変えてから、再実行してみた。
$ sudo chmod -R 777 foo/ $ trac-admin foo repository resync '*' リポジトリ (default) の履歴を再同期します… 318 リビジョンのキャッシュがあります。 終了しました。
今度は無事にコマンド処理が成功した。
適切なエラーメッセージを表示してくれると対処も容易なのだけど、意味不明なメッセージが出るとアレコレと調べる時間がかかってしまうのは残念なところだと思う。
関連