//subversion/削除ファイルの痕跡を追跡する
以前、削除されたファイルの痕跡を追跡するためのLinuxスクリプトを作成しました。
*スクリプト
以下を「checkdelfile.sh」として保存し、実行権限をつけてください。
#!/bin/bash
REP=$1
DIR=$2
FILE=$3
TESTPATH=${DIR}${FILE}
TESTPATH=$(echo $TESTPATH | sed 's_^/__;')
if [ "$3" == "" ]; then
echo usage: $0 REPOSITORY_PATH DIR FILE
echo ex: $0 /home/svnroot/repName dirPath test.txt
exit 1
fi
svnlook history $REP $DIR | \
while read REV REPPATH; do
if [ $(expr "$REV" : '[0-9]*') -gt 0 ]; then
#echo "REV:$REV"
svnlook changed $REP $REPPATH -r $REV | \
while read TYPE FOUNDPATH; do
if [ "$FOUNDPATH" == "${TESTPATH}" ]; then
echo "$REV $TYPE $FOUNDPATH"
fi
done
fi
done
* 使い方
$ checkdelfile.sh /home/svnroot/MyRepository MyProject/MyDirectry Myfile.txt
引数は以下の通り。
・REP:リポジトリ名(フルパス)
・DIR:ディレクトリ名(リポジトリ名以下の相対パス)
・FILE:ファイル名