FreeBSD ハンドブック : 開発の最前線: FreeBSD-current と FreeBSD-stable : インターネットを通じたソースツリーの同期
Previous: FreeBSD の安定状態の持続
Next: Anonymous CVS

17.3. インターネットを通じたソースツリーの同期

原作: Jordan K. Hubbard <jkh@FreeBSD.ORG>.

訳: 岩崎 満 <iwasaki@jp.FreeBSD.org>.
13 September 1997.

インターネット接続 (または電子メール) を使用して, あなたの興味の対 象によって FreeBSD プロジェクトのソースのある一部分または全体の最新を 追いかける方法は色々あります. 私たちが提供している基本的なサービスは Anonymous CVS, CVSupCTM です:

Anonymous CVSCVSuppull 同期モデルを採用しています. CVSup の場合, ユーザ (または cron スクリプト) が cvsup プログラムを 起動し, どこかにある cvsupd サーバとやりとりしてファイルを 最新状態にします. 届けられる更新情報はその時点の最新のものであり, また必要な時にだけ取り寄せられます. 興味のある特定のファイルやディレクトリに 限定して更新することも簡単にできます. クライアント側のソースツリーの状態・ 設定ファイルの指定に従い, サーバによって更新情報が素早く生成されます. Anonymous CVS は, このプログラムがリモートの CVS リポジトリから直接変更点を pull できるようにした cvs(1) への拡張であるという点で, CVSup よりもずっと単純です. CVSup は効率の点ではるかにまさっていますが, anoncvs の方が簡単に利用できます.

一方, CTM はあなたが持っているソースとマスタアーカイブ上に あるそれとの対話的な比較をおこないませんし, あるいは向こう側から変更点を pull したりもしません. そのかわりに, 前回の実行時からの変更を認識するスクリプトがマスタ CTM マシン 上で一日に数回実行され, すべての変更を compress して通し番号を振り, さらに電子メールで転送できるようにエンコードします (印字可能な ASCII キャラクタのみです). 受信した後は, これらの「CTM のデルタ」は自動 的にデコード, 検査してユーザのソースのコピーに変更を適用する ctm_rmail(1) によって処理可能となります. この処理は CVSup や Anonymous CVS よりずっと効率 的であり, pull モデルというよりむしろ push モデルで あるため, 私たちのサーバ資源の負荷は軽くなります.

もちろん他のトレードオフもあります. うっかりアーカイブ の一部を消してしまっても, CVSup は壊れた部分を検出して再構築してくれます. CTM はこれをやってくれませんし, anoncvs はおそらく他の何よりも深く混乱してしまうことが多いでしょう. もしソースツリーの一部を消してしまったら, (最新の CVS 「ベースデルタ」から) 一からやり直し, CTM か anoncvs を使って悪い部分を消去し, 再同期させることによって すべてを再構築しなければなりません.

Anonymous CVS, CVSup と CTM についての 詳しい情報については, 以下の節を参照してください:

17.3.1. Anonymous CVS

17.3.1.1. 導入
17.3.1.2. Anonymous CVS を使う
17.3.1.3.
17.3.1.4. 他の資料

17.3.2. CTM

17.3.2.1. なぜCTMを使うの?
17.3.2.2. CTMを使うには何が必要?
17.3.2.3. はじめてCTMを使い始める
17.3.2.4. CTMを日常で使う
17.3.2.5. ローカルの変更を保存する
17.3.2.6. CTM のその他の面白いオプション
17.3.2.7. CTMの将来計画
17.3.2.8. その他
17.3.2.9. ありがとう!

17.3.3. CVSup

17.3.3.1. CVSup の紹介
17.3.3.2. CVSup のインストール
17.3.3.3. CVSup のコンフィグレーション
17.3.3.4. CVSup の実行
17.3.3.5. CVSup ファイルコレクション
17.3.3.6. CVSup のアナウンス, 質問およびバグ報告

FreeBSD ハンドブック : 開発の最前線: FreeBSD-current と FreeBSD-stable : インターネットを通じたソースツリーの同期
Previous: FreeBSD の安定状態の持続
Next: Anonymous CVS