創屋ぷれす

Subversionのコミットログをファイル出力する

必要にかられたので、Subversionの指定リポジトリにコミットされたファイルのログを
CSV型式でファイルに出力するシェルスクリプトを作った。
TortoiseSVNとかはGUIでは表示できるけど、出力機能がなくてつくるはめに。

#!/bin/sh
REPO=/svn/repo1
FILE=repo.csv
FIRST_REV=1

rm -f ${FILE}
YOUNG_REV=`svnlook youngest ${REPO}`
for i in `seq ${YOUNG_REV} -1 ${FIRST_REV}`
do
echo $i
LOG1=$i,`svnlook author ${REPO} -r ${i}`,\"`svnlook date ${REPO} -r ${i}`\",\"`svnlook log ${REPO} -r ${i}`\",
LOG2=`svnlook changed ${REPO} -r ${i}`
LOG2d=`echo ${LOG2} | sed 's/\s/,/g'`
echo ${LOG1}${LOG2d} >> ${FILE}
done

こんな形で出力されます。
1426,souya,"2012-03-08 19:19:34 +0900 (木, 08 3月 2012)","ヘッダーの修正",U,branches/RB-1.0/src/hoge.py,U,branches/RB-1.0/src/hoge_file.py
1425,k.n,"2012-03-08 07:30:39 +0900 (木, 08 3月 2012)","ログ出力",U,branches/RB-1.0/src/fuga.py,U,branches/RB-1.0/src/fuga_api.py

Comments are closed.