ディレクトリを csv add する


私はいまだにバージョン管理システムとして CVS を愛用しております。

で、CVS というのはファイルを追加する時は個別に指定する必要があり、ディレクトリごと追加する事ができない。また、ファイルに先立ちそのファイルのあるディレクトリをリポジトリに追加しておかなければならない。

おそらくこれはプログラム開発する人用の仕様なのだろうけど、Webサイトを作る場合は多階層になっているファイルをまとめて追加する事があり、いちいち階層ごとに cvs add していくのは面倒臭い。もちろん、ディレクトリごと新しいファイルの場合は cvs import してもよいのだが、既存のディレクトリに多数のファイルを継ぎ足した(つまりコピペですが…)ような場合は import → export の手順が面倒な事もある。

ディレクトリを recursive に cvs add するコマンド

という事で、何回か繰り返すとディレクトリ階層をまあまあ簡単にcvs addできるコマンド。

cvs -qn update \
| egrep "^\?" \
| egrep "(ここに対象とするファイルをフィルタする正規表現)" \
| sed -e "s/^\? //" \
| xargs cvs add