QA@IT

SVNのpost-commit中で、svn updateができない

4286 PV

subversionにソースがコミットされたら、同一サーバ内にある HTML領域のファイルを svn updateで更新したいと考えています。subversionのフックスクリプトである post-commitを使用しているのですが、うまくいきません。

具体的には以下の方と同じ状況で、フックスクリプト自体は動くのですが、その中の svn updateだけが動いていません。(
echoでログに出力させたコマンドを手動で叩くと正常に動きます。。 )

 ▽ subversion の post-commit 中で svn update できない件 
 http://tadtak.jugem.jp/?eid=63 

※ なお、こちらに記載されている解決方法は全て試したのですが、だめでした。。。

環境は Amazon Linuxに「Bitnami Redmine」というパッケージを載せています。
以下に、フックスクリプトとログの中身を記載します。考えられる原因についてご教授をお願いいたします。

以下、フックスクリプトの中身

#!/bin/sh
# 変数を定義
LOG=/var/log/svn/post-commit.log
REPOS="$1"
REV="$2"
SVNUSER=ProtoPostCommit
SVNPASS=ProtoPostCommit
SVNCONFIGDIR=/opt/redmine-3.0.1-0/subversion/bin/
SVNOPTS="--username ${SVNUSER} --password ${SVNPASS} --config-dir ${SVNCONFIGDIR}"
PROTOHTML=/opt/redmine-3.0.1-0/apache2/htdocs/test_proto

# 開始!
echo "START ${REPOS} ${REV}" >> ${LOG}

# プロト領域に移動
cd ${PROTOHTML}
# SVN UPDATE
${SVNCONFIGDIR}svn update * ${SVNOPTS} >> ${LOG}

# 吐き出されるコマンドを確認
echo "${SVNCONFIGDIR}svn update * ${SVNOPTS}" >> ${LOG}
# 終了…
echo "END ${REPOS} ${REV}" >> ${LOG}

以下、吐き出された「/var/log/svn/post-commit.log」の中身

START /opt/redmine-3.0.1-0/repositories/test_proto 6
/opt/redmine-3.0.1-0/subversion/bin/svn update * --username ProtoPostCommit --password ProtoPostCommit --config-dir /opt/redmine-3.0.1-0/subversion/bin/
END /opt/redmine-3.0.1-0/repositories/test_proto 6

回答

質問に載せている文献で、以下のように文字コードを指定すれば解決する、
と書かれていたのですが、この通りにやったらできました!
(以前試したつもりだったのですが、うまくできていなかったようです。。)

LANG=en_US.UTF-8 /usr/bin/svn ${SVNOPTS} update /var/www/html >> ${LOG}
~~~~~~~~~~~~~~~~
[参考]subversion の post-commit 中で svn update できない件
http://tadtak.jugem.jp/?eid=63

お騒がせしました。

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。