.\"---------------------------------------------------------------------------- .\""THE BEER-WARE LICENSE" (Revision 42): .\" wrote this file. As long as you retain this notice you .\"can do whatever you want with this stuff. If we meet some day, and you think .\"this stuff is worth it, you can buy me a beer in return. Joerg Wunsch .\"---------------------------------------------------------------------------- .\" .\" This manual page is partially obtained from Poul-Hennings CTM README .\" file. .\" .\" CTM and ctm(1) by .\" .\" %FreeBSD: src/usr.sbin/ctm/ctm/ctm.5,v 1.16 2004/07/02 23:12:40 ru Exp % .\" .\" $FreeBSD$ .\" .Dd March 25, 1995 .Os .Dt CTM 5 .Sh 名称 .Nm ctm .Nd source code mirror system .Sh 解説 .Nm は CTM デルタと呼ばれる特別のファイルフォーマットでデータを送ります。 .Pp CTM デルタは制御行とデータ塊を含みます。 各制御行は .Dq CTM という文字で始まり、CTM 文と制御データが続いて、文字 '\en' で終ります。 .Pp データ塊は常に先行する制御行に属して、その制御行の 最後のフィールドにはデータ塊のバイト数が入っています。 後に続く改行文字 '\en' が各データ塊に続き、この 改行は塊には含まれずバイト数にも数えられません。 .Pp CTM 文は以下の形式をとります。 .Bl -tag -width indent .It _BEGIN Ar version name number timestamp prefix これが CTM デルタファイル全体の始まりです。 .Ar version フィールドはプログラムのバージョンと一致しなければなりません (現在は 2.0)。 .Ar name は名前で .Ar number は CTM サービスの通し番号です。通し番号はファイル .Pa .ctm_status と照合され、そのデルタがすでに適用されていないかの確認に使われます。 .Ar timestamp はデルタ生成日時の年、月、日、時、分、秒を参考のために含みます (文字 .Sq Z が続いて UTC のタイムスタンプであることを示します)。 .Ar prefix フィールドは現在実装されていません。 .It _END Ar md5 この文で CTM デルタは終了します。 .Ar md5 は全体のチェックサムで デルタ全体の MD5 チェックサムと照合されます。 デルタ全体とは ``_END'' に続く空白 (0x20) 文字までのことです。 .It \&FM Ar name uid gid mode md5 count ファイル .Ar name を作成します。元のファイルは uid として .Ar uid (数値、10進) を、 gid として .Ar gid .Pq 数値、10進 を、モードとして .Ar mode (数値、8進) を、そして MD5 チェックサムとして .Ar md5 を持ちます。 .Pp 続く .Ar count バイトのデータが新しいファイルの内容です。 .It \&FS Ar name uid gid mode md5before md5after count ファイル .Ar name の内容を置き換えます。 元のファイルは新しい uid として .Ar uid (数値、10進) を、新しい gid として .Ar gid (数値、10進) を、新しいモードとして .Ar mode (数値、8進) を、古い MD5 チェックサムとして .Ar md5before を、そして新しい MD5 チェックサムとして .Ar md5after を持ちます。 .Pp 続く .Ar count バイトのデータが新しいファイルの内容です。 .Pp ファイルを編集するためのコマンドがファイルサイズを超えてしまい 置き換えの方が効率的な場合に、ファイルの置き換えが使われます。 .It \&FN Ar name uid gid mode md5before md5after count ファイル .Ar name を編集します。引数は上にある通りですが、データ部分には .Xr diff 1 の -n スクリプトを含み該当ファイルに適用されます。 .It \&FR Ar name md5 ファイル .Ar name を削除します。 対象ファイルの MD5 チェックサムが .Ar md5 と一致しなければなりません。 .It \&AS Ar name uid gid mode 元のファイル .Ar name の所有者を .Ar uid に、グループを .Ar gid に、そして/またはモードを .Ar mode に変更します。 .It \&DM Ar name uid gid mode ディレクトリ .Ar name が作成されます。元々、ディレクトリの所有者は .Ar uid 、グループは .Ar gid 、そしてモードは .Ar mode でした。 .It \&DR Ar name ディレクトリ .Ar name を削除します。 .Pp .El .Sh 使用例 以下の使用例では、長い行は表示できるように改行してあります (バックスラッシュを付けてあります)。 .Bd -literal 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 .Pp CTMFN CVSROOT/commitlogs/gnu 545 552 664 \\ 5d7bc3549140d860bd9641b5782c002d 7fb04ed84b48160c9b8eea84b4c0b6e3 394 a6936 21 ache 95/03/24 09:59:50 .Pp Modified: gnu/lib/libdialog kernel.c prgbox.c Log: [...] CTM_END 74ddd298d76215ae45a077a4b6a74e9c .Ed .Sh 関連項目 .Xr ctm 1 , .Xr ctm_rmail 1 , .Xr ed 1 .Sh 歴史 最初の試用は .Fx 1.1.5 で行われて、多くのバグと手法が出されました。 CTM システムは .Fx 2.1 で公開されました。 .Sh 作者 CTM システムは .An Poul-Henning Kamp .Aq phk@FreeBSD.org によって設計、実装が行われました。 .Pp このマニュアルページは .An Joerg Wunsch .Aq joerg@FreeBSD.org が書きました。