複数ログの修正(rcs)

前回-mオプションを使ってログ修正できることを確認しました。
しかし複数レビジョンを指定して修正が簡単にはいきませんでしたね。

今回は、複数レビジョンのログを修正してみます。
ブランチナンバー1の全レビジョンを修正しますが、レビジョンがどれだけあるでしょうか。

takk@deb9:~/tmp$ rcs log -r1 test2.c | grep ^rev | cut -d' ' -f2 | pr -t5
1.102         1.81          1.60          1.40          1.20
1.101         1.80          1.59          1.39          1.19
1.100         1.79          1.58          1.38          1.18
1.99          1.78          1.57          1.37          1.17
1.98          1.77          1.56          1.36          1.16
1.97          1.76          1.55          1.35          1.15
1.96          1.75          1.54          1.34          1.14
1.95          1.74          1.53          1.33          1.13
1.94          1.73          1.52          1.32          1.12
1.93          1.72          1.51          1.31          1.11
1.92          1.71          1.50          1.30          1.10
1.91          1.70          1.49          1.29          1.9
1.90          1.69          1.48          1.28          1.8
1.89          1.68          1.47          1.27          1.7
1.88          1.67          1.46          1.26          1.6
1.87          1.66          1.45          1.25          1.5
1.86          1.65          1.44          1.24          1.4
1.85          1.64          1.43          1.23          1.3
1.84          1.63          1.42          1.22          1.2
1.83          1.62          1.41          1.21          1.1
1.82          1.61
takk@deb9:~/tmp$

たくさんありますね。
では、このリストを利用して、ログ修正しましょう。for文で回すだけです。

takk@deb9:~/tmp$ for i in `rcs log -r1 test2.c | grep ^rev | cut -d' ' -f2`;do rcs -m$i:"new log2" test2.c;done

実行すると、以下のメッセージがたくさん表示されます。

RCS file: RCS/test2.c,v
done
RCS file: RCS/test2.c,v
done

~省略~

RCS file: RCS/test2.c,v
done
RCS file: RCS/test2.c,v
done
takk@deb9:~/tmp$

確認してみます。

takk@deb9:~/tmp$ rcs log -r1 test2.c | grep -v ^bran | grep ^rev -A2 | sed -ne '1~2p' | pr -t2l1 >tmp

では、各レビジョンのログが変更されたか確認してみましょう。数が多いので、冒頭と末尾の10行だけ確認します。

takk@deb9:~/tmp$ rcs log -r1 test2.c | grep -v ^bran | grep ^rev -A2 | sed -ne '1~2p' | pr -t2l1 > tmp
takk@deb9:~/tmp$ head tmp
revision 1.102                      new log2
revision 1.101                      new log2
revision 1.100                      new log2
revision 1.99                       new log2
revision 1.98                       new log2
revision 1.97                       new log2
revision 1.96                       new log2
revision 1.95                       new log2
revision 1.94                       new log2
revision 1.93                       new log2
takk@deb9:~/tmp$ tail tmp
revision 1.10                       new log2
revision 1.9                        new log2
revision 1.8                        new log2
revision 1.7                        new log2
revision 1.6                        new log2
revision 1.5                        new log2
revision 1.4                        new log2
revision 1.3                        new log2
revision 1.2                        new log2
revision 1.1                        new log2
takk@deb9:~/tmp$

全部新しいログに変わってそうですね。

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA