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

ただ"./"が付いちゃうので、エディタかなんかで消せばよくね。