rcsコマンドです。
レビジョンの削除オプション、-oを使います。
man rcsより
-orange range で指定したリビジョンを削除します。 range がただ 1 つのリビ ジョン番号ならば、そのリビジョンを削除します。 range に枝番号が 含まれれば、その枝の最新のリビジョンを削除します。 rev1:rev2 形 式の範囲指定では、同じ枝上の rev1 から rev2 までのすべてのリビ ジョンが削除されます。 :rev は枝の開始から rev までのリビジョン を、 rev: は同じ枝上の rev 以降のリビジョンのすべてを削除しま す。 削除されるリビジョンにロックや枝があってはいけません。
ブランチナンバー1の最初の方のレビジョンはこのようになっています。
takk@deb9:~/tmp$ rcs log test2.c | grep ^rev | tail revision 1.9 revision 1.8 revision 1.7 revision 1.6 revision 1.5 revision 1.4 revision 1.3 revision 1.2 revision 1.1 revision 1.10.1.1 takk@deb9:~/tmp$
-oオプションを使って、レビジョン1.2を削除してみましょう。
takk@deb9:~/tmp$ rcs -o1.2 test2.c RCS file: RCS/test2.c,v deleting revision 1.2 done takk@deb9:~/tmp$
消えたでしょうか。logを確認します。
takk@deb9:~/tmp$ rcs log test2.c | grep ^rev | tail revision 1.10 revision 1.9 revision 1.8 revision 1.7 revision 1.6 revision 1.5 revision 1.4 revision 1.3 revision 1.1 revision 1.10.1.1 takk@deb9:~/tmp$
消えていますね。
次は1.3~1.9を削除してみましょう。
takk@deb9:~/tmp$ rcs -o1.3:1.9 test2.c RCS file: RCS/test2.c,v deleting revision 1.9 deleting revision 1.8 deleting revision 1.7 deleting revision 1.6 deleting revision 1.5 deleting revision 1.4 deleting revision 1.3 done takk@deb9:~/tmp$
logを確認。
takk@deb9:~/tmp$ rcs log test2.c | grep ^rev | tail revision 1.17 revision 1.16 revision 1.15 revision 1.14 revision 1.13 revision 1.12 revision 1.11 revision 1.10 revision 1.1 revision 1.10.1.1 takk@deb9:~/tmp$
見事に消えました。
では、ブランチナンバー1の最後まで決してみたいと思います。
最後のレビジョンを確認。
takk@deb9:~/tmp$ rcs log -r1. test2.c RCS file: RCS/test2.c,v Working file: test2.c head: 2.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 97; selected revisions: 1 description: test ---------------------------- revision 1.102 date: 2018/09/23 07:04:12; author: takk; state: Exp; lines: +1 -1 log5 ============================================================================= takk@deb9:~/tmp$
1.102ですね。
1.10~1.102を削除。
takk@deb9:~/tmp$ rcs -o1.10:1.102 test2.c RCS file: RCS/test2.c,v deleting revision 1.102 deleting revision 1.101 ~省略~ deleting revision 1.14 deleting revision 1.13 deleting revision 1.12 deleting revision 1.11 rcs: RCS/test2.c,v: can't remove branch point 1.10 takk@deb9:~/tmp$
なんか出ました。1.10は、ブランチポイントがあるので、消せないようです。
途中までのレビジョンは消えたのでしょうか。確認します。
takk@deb9:~/tmp$ rcs log test2.c | grep ^rev | tail revision 1.17 revision 1.16 revision 1.15 revision 1.14 revision 1.13 revision 1.12 revision 1.11 revision 1.10 revision 1.1 revision 1.10.1.1 takk@deb9:~/tmp$
消えてませんね。
エラーになるとすべての削除が無効になるということでしょうか。
1.10を外して指定してみます。
takk@deb9:~/tmp$ rcs -o1.11:1.102 test2.c RCS file: RCS/test2.c,v deleting revision 1.102 deleting revision 1.101 ~省略~ deleting revision 1.15 deleting revision 1.14 deleting revision 1.13 deleting revision 1.12 deleting revision 1.11 done takk@deb9:~/tmp$
削除できたようですね。
takk@deb9:~/tmp$ rcs log test2.c | grep ^rev revision 2.2 revision 2.1 revision 1.10 revision 1.1 revision 1.10.1.1 takk@deb9:~/tmp$
コメント