« 2006年08月 | メイン | 2006年10月 »

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 : 09:25 | コメント (0)