Fool Pool

ハマった記

"Expected FS format between '1' and '4'; found format '6'"

発生契機

Subversion コミット後、post-commit hook で Jenkins の Build プロセスを起動させようとした。

エラーメッセージ

Warning: post-commit hook failed (exit code 8) with output:
svnlook: Expected FS format between '1' and '4'; found format '6'
svnlook: Expected FS format between '1' and '4'; found format '6'

原因

Subversion Edge にインストールされている svn のバージョン(1.8.10)と、システムにインストールされている svn のバージョン(1.6.11)が異なるため。

対処

post-commit hook の記述を修正。
CollabNet Subversion Edge が持っている svnlook のパスをフルパスで指定する。

[hook/post-commit]

REPOS="$1"
REV="$2"
UUID=`(Collab Net Subversion のインストールパス)/bin/svnlook uuid $REPOS`
/usr/bin/wget \
  --header "Content-Type:text/plain;charset=UTF-8" \
  --post-data "`svnlook changed --revision $REV $REPOS`" \
  --output-document "-" \
  --timeout=2 \
  http://<YOUR_SERVER_NAME>/subversion/${UUID}/notifyCommit?rev=$REV