スポンサーリンク

CTM(5) FreeBSD ファイルフォーマットマニュアル CTM(5)

名称

ctm − source code mirror system

解説

ctm は CTM デルタと呼ばれる特別のファイルフォーマットでデータを送ります。

CTM デルタは制御行とデータ塊を含みます。各制御行は ‘‘CTM’’ という文字で始 まり、CTM 文と制御データが続いて、文字 ’\n’ で終ります。

データ塊は常に先行する制御行に属して、その制御行の最後のフィールドには データ塊のバイト数が入っています。後に続く改行文字 ’\n’ が各データ塊に続 き、この改行は塊には含まれずバイト数にも数えられません。

CTM 文は以下の形式をとります。

       _BEGIN version name number timestamp prefix

これが CTM デルタファイル全体の始まりです。 version フィールドは プログラムのバージョンと一致しなければなりません (現在は 2.0)。 name は名前で number は CTM サービスの通し番号です。通し番号は ファイル .ctm_status と照合され、そのデルタがすでに適用されていな いかの確認に使われます。 timestamp はデルタ生成日時の年、月、日、 時、分、秒を参考のために含みます (文字 ‘Z’ が続いて UTC のタイム スタンプであることを示します)。 prefix フィールドは現在実装されて いません。

_END md5
この文で CTM デルタは終了します。 md5 は全体のチェックサムでデル タ全体の MD5 チェックサムと照合されます。デルタ全体とは ‘‘_END’’ に続く空白 (0x20) 文字までのことです。

FM name uid gid mode md5 count
ファイル name を作成します。元のファイルは uid として uid (数 値、10進) を、 gid として gid (数値、10進) を、モードとして mode (数値、8進) を、そして MD5 チェックサムとして md5 を持ちます。

続く count バイトのデータが新しいファイルの内容です。

FS name uid gid mode md5before md5after count
ファイル name の内容を置き換えます。元のファイルは新しい uid とし て uid (数値、10進) を、新しい gid として gid (数値、10進) を、新 しいモードとして mode (数値、8進) を、古い MD5 チェックサムとして md5before を、そして新しい MD5 チェックサムとして md5after を持ち ます。

続く count バイトのデータが新しいファイルの内容です。

ファイルを編集するためのコマンドがファイルサイズを超えてしまい置 き換えの方が効率的な場合に、ファイルの置き換えが使われます。

FN name uid gid mode md5before md5after count
ファイル name を編集します。引数は上にある通りですが、データ部分 には diff(1) の -n スクリプトを含み該当ファイルに適用されます。

FR name md5
ファイル name を削除します。対象ファイルの MD5 チェックサムが md5 と一致しなければなりません。

AS name uid gid mode
元のファイル name の所有者を uid に、グループを gid に、そして/ま たはモードを mode に変更します。

DM name uid gid mode
ディレクトリ name が作成されます。元々、ディレクトリの所有者は uid 、グループは gid 、そしてモードは mode でした。

DR name
ディレクトリ name を削除します。

使用例

以下の使用例では、長い行は表示できるように改行してあります (バックスラッ シュを付けてあります)。

CTM_BEGIN 2.0 cvs-cur 485 19950324214652Z .
CTMFR src/sys/gnu/i386/isa/scd.c,v 5225f13aa3c7e458f9dd0d4bb637b18d
CTMFR src/sys/gnu/i386/isa/scdreg.h,v e5af42b8a06f2c8030b93a7d71afb223
CTMDM src/sys/gnu/i386/isa/Attic 0 552 775
CTMFS .ctm_status 545 552 664 d9ccd2a84a9dbb8db56ba85663adebf0 \
e2a10c6f66428981782a0a18a789ee2e 12
cvs-cur 485

CTMFN CVSROOT/commitlogs/gnu 545 552 664 \
5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394
a6936 21
ache        95/03/24 09:59:50

 Modified:    gnu/lib/libdialog kernel.c prgbox.c
  Log:
[...]
CTM_END 74ddd298d76215ae45a077a4b6a74e9c

関連項目

ctm(1), ctm_rmail(1), ed(1)

歴史

最初の試用は FreeBSD 1.1.5 で行われて、多くのバグと手法が出されました。 CTM システムは FreeBSD 2.1 で公開されました。

作者

CTM システムは Poul-Henning Kamp ⟨phk@FreeBSD.org⟩ によって設計、実装が行 われました。

このマニュアルページは
Joerg Wunsch ⟨joerg@FreeBSD.org⟩ が書きました。

FreeBSD 10.0 March 25, 1995 FreeBSD 10.0

スポンサーリンク