« ビットマップについて (パクリ) | メイン | 画像を投げる »
2006年09月07日
あるリビジョンナンバー以上のファイルを固める
#!/bin/bash
#*******************************************
# 引数:開発スタート時のリビジョンナンバー
#*******************************************
Start=$1
if [ -z "$Start" ];then
echo "開発スタート時のリビジョンナンバーを引数につけてください"
echo "例) ./send.sh 1440"
exit
fi
cd /home/send
rm -f send.list
rm -f svn.list
rm -f send.tar.gz
#********************************
# 送信時のリポジトリをとってくる
#*******************************
rm -rf /home/send/temp
mkdir /home/send/temp
cd /home/send/temp
#******************************
# 現在ののリポジトリをチェックアウト
#********************************
echo "チェックアウト開始"
svn checkout http://localhost:8080/sub .
echo "チェックアウト完了::::"
#***************************************************
# テストIP192.168.1.175 を www.hogehoge.com に置換
# アップするべきファイルのみ行ったほうが効率はいいが・・
# あとで変更します・・・
#***************************************************
find ./ -type f | grep -v ".svn" | while read file
do
sed 's/192.168.1.175/www.hogehoge.com/g' < $file > $file.new
# chmod ${file}.new --reference=${file}
mv ${file}.new ${file}
# chmod 755 ${file}
done
#***************************************************
# 開発スタート時より変更が行われているファイルの検出
#***************************************************
cd /home/send
rm -f svn.list
rm -f send.list
#バージョン一覧を出す
svn list -R --verbose http://localhost:8080/sub > svn.list
#引数の開発スタート時よりも高いバージョンのファイルリストを作成
cat svn.list | while read ver user size month day time file
do
if [ "$ver" -gt "$Start" ];then
if [ ! -z "$file" ];then
echo "$file" >> send.list
fi
fi
done
#リストのファイルを固める
cd temp
tar czvf ../send.tar.gz -T ../send.list
echo "完了"
echo "send.tar.gz が送付ファイルを固めたものです。"
echo "中身のファイルリストはsend.listです。"
投稿者 muuming : 2006年09月07日 09:25