tarについて

これも昔、どこかに書いた気がするんだけどなぁ

.svnディレクトリを避けてtarしたい場合は、

tar -cvf hogehoge.tar targetDir --exclude .svn

追加でアーカイブする場合は、
tar -rvf hogehoge.tar targetDir01 --exclude .svn

その後、更新があったファイルだけを、hogehoge.tarに上書きする場合は
tar -uvf hogehoge.tar targetDir --exclude .svn

ある日付以降のものだけって,tarじゃなくってfindだっけか?

diffコマンドの利用 diff -uBEr -x .svn -x *.o -x *.cgi -x Makefile.dep SIRIUS-OLD-IA4/ SIRIUS-NEW-IA4/
とすると、
u:unifiedフォーマット
B:空白だけの行を無視
E:タブ展開によるスペースの変更を無視
r:再帰的に
x:.svnを含むor *.o or *.cgi or Makefile.dipを無視出来る
svnの自前のdiffを行う場合、細かいオプションが指定できないので、/usr/bin/diffを使用して細かいオプションを指定する
svn diff --diff-cmd /usr/bin/diff -x "-ubBE --strip-trailing-cr" ターゲットのファイル名
とすると、指定できる。
オプションを-x "********"と囲むところがミソ

ちなみに、指定日数以前に変更されたファイルをfindするのは、
find . -mtime -日数  で、必要なファイルにだけ絞り込むのは
find . -mtime -2 ! -regex '.*svn.*' \( -regex .*.txt -o -regex .*.cpp -o -regex .*.h \)
(.svnを含まない、.txtか.cppか.hで2日前以降に更新されたもの)

なので、tarと組み合わせるには?(.svn/.tar/.o/.so/.cgi/.dep/.bakを含まないかつディレクトリでない前日以降に更新されたファイル)
find . -mtime -1 ! -type d ! \( -regex '.*svn.*' -o -regex '.*\.tar' -o -regex '.*\.o' -o -regex '.*\.so.*' -o -regex '.*\.cgi' -o -regex '.*\.dep' -o -regex '.*\.bak' -o -regex '.*\.BAK' \) -exec tar -rvf hogehoge.tar {} \;