CVSROOTの引越し

計算機環境の変更の影響で、cvsのcvsrootがあるホスト名、ディレクトリ名を変更することになった。

cvsは、checkout済みの作業コピーにあるCVS/Rootというファイルにホスト名やディレクトリ名を記憶するように設計されており、結構影響範囲がでかい。めんどくさいなぁ、と思いながら、次のようなスクリプトで片っ端からRootの中身を置換してみたところ、あっさり解決できた。

$ find -name "Root" | while read x; do 
[ x"`cat $x`" = "x/opt/cvsroot" ] && echo "/exports/cvsroot" > $x
done