rlogってなんだ(rcs)

info rcsを読んでいて、rlogというコマンドを見つけました。

Usage
* Common elements::
* ci::
* co::
* ident::
* merge::
* rcs::
* rcsclean::
* rcsdiff::
* rcsmerge::
* rlog::

まあ、logコマンドが一覧にないので、logの代わりのコマンドであることは想像できますが、一応確認。

rlogの解説の章を見ます。

2.10 Invoking rlog
==================

     rcs log [options] file …
     (or “rlog” instead of “rcs log”)

The rlog command displays information about RCS files.

‘-L’
     Ignore RCS files with no locks set.

‘-R’
     Print only the name of the RCS file.

‘-h’
     Print only the “header” information.

‘-t’
     Like ‘-h’, but also include the description.

‘-N’
     Omit symbolic names.

‘-b’
     Select the default branch.

rcs logと入力する代わりに、rlogってのが使えるってことでしょうか。
入力してみましょう。

takk@deb9:~/tmp$ rlog
rlog: no input file
rlog aborted
takk@deb9:~/tmp$

エラーにはなりましたが、コマンドは存在するようです。

rlogが何者か確認します。

takk@deb9:~/tmp$ which rlog
/usr/bin/rlog
takk@deb9:~/tmp$ file /usr/bin/rlog
/usr/bin/rlog: POSIX shell script, ASCII text executable
takk@deb9:~/tmp$

スクリプトですね。

takk@deb9:~/tmp$ cat !$
cat /usr/bin/rlog
#!/bin/sh
# rlog (GNU RCS) 5.9.4
#
# Copyright (C) 2013-2015 Thien-Thi Nguyen
#
# This file is part of GNU RCS.
#
# GNU RCS is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# GNU RCS is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

d=`echo "$0" | sed 's|[^/]*$||'`
exec "$d"rcs rlog "$@"

# rlog ends here
takk@deb9:~/tmp$

内部で、rcs logを実行しているのかと思いきや、rcs rlogを実行してます。
パラメータで指定するコマンドに、logとrlogが存在するってことでしょうか。

それぞれ実行してみます。

takk@deb9:~/tmp$ rcs rlog
rlog: no input file
rlog aborted
takk@deb9:~/tmp$
takk@deb9:~/tmp$ rcs log
log: no input file
log aborted
takk@deb9:~/tmp$

ファイルを指定した時の表示の差分はあるでしょうか。

takk@deb9:~/tmp$ rcs rlog test2.c > rlog.txt
takk@deb9:~/tmp$ head rlog.txt

RCS file: RCS/test2.c,v
Working file: test2.c
head: 2.2
branch: 1
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 5;     selected revisions: 5
takk@deb9:~/tmp$
takk@deb9:~/tmp$ rcs log test2.c > log.txt
takk@deb9:~/tmp$ diff rlog.txt log.txt
takk@deb9:~/tmp$

まったく同じのようです。

Leave a Reply

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

CAPTCHA