TextFileListからsvn exportするシェル
SVNでファイルを管理している際に指定したファイルだけをエクスポートしたい場面はたまにある。
毎回必要なファイルにチェックを入れたり、まとめてエクスポートしていらないファイルを消したり、なんてやってられない。
そこで必要なファイルのリストを作っておいて、それを読み込んでエクスポートしちゃうシェルを作った。
#!/bin/sh svnrepo=http://*************************************** makefile=export.sh oya=documents mkdir $oya a() { path=$1 dir=$oya/`dirname $path` if [ ! -e $dir ]; then mkdir -p $dir fi if test $src != $dst ; then echo svn "export $svnrepo/$path $oya/$path>>expo.log" ; fi } echo '#!/bin/sh'>$makefile while read fn;do a $fn>>$makefile done <Documents_List.txt
カレントにdocumentsフォルダを作成して、export.shを作成する。
export.shを実行すると、svn exportをガリガリやってくれる。
■ファイルリストの作り方
ファイルリストも一からチマチマ作るのは面倒なので、バッ!っと一旦リスト作っちゃっていらんの消したらいいかなと思ったので、このコマンドでたたき台はできるかな。
find . \( -name .svn -o -name .CVS \) -prune -o -print
ただ"./"が付いちゃうので、エディタかなんかで消せばよくね。