The Hackerlab at regexps.com

arch の紹介

up: arch Meets hello-world
next: システム要求

arch はリビジョン管理, ソースコード管理, およびコンフィグレーション管理の道具です.

このマニュアルは arch のチュートリアルです: 目的は, arch をはじめて使うときと, arch のより進んだ機能を習うときの手助けです.

このマニュアルは誰のためのものか

このマニュアルを利用するには, unix の基本的なコマンドラインツール (ls, mv, find など)を良く知っているべきです.

さらに, diffpatch コマンドや, patchset の考え方を良く知っているべきです.

CVS のような他のリビジョン管理システムを使ってことがあったり, 少なくとも良く知っていれば, 大変役立ちますが, 絶対必要なことでもありません.

リファレンスマニュアルはどこにあるか

arch はほとんどのところそれ自身でドキュメントを持ちます. コマンド:

        % tla help

は, 利用可能なコマンド全ての分類付きの一覧を提供します. あるコマンド foo に対して,

        % tla foo -H

とすると, そのコマンドのドキュメントを表示します.

他の役立つ情報源 -- メーリングリスト

Arch は, 競合する古いシステムとはかなり違うものなので, 使いはじめの数日はよくまごつきます. gnu-arch-users メーリングリストで助けを求めると有益なことでしょう. メーリングリストは次のリンクで見つかります:

    http://www.gnu.org/software/gnu-arch

リビジョン管理とは何か

"リビジョン管理システム" (revision control system) は, ファイルのツリーとそれらへの変更の, 司書であり協調のための道具です. たとえば, 典型的なソフトウェアプロジェクトではリビジョン管理を利用して, プロジェクトのソースコードが時の経過に伴なってどのように発展するかを 追い掛け, コードへの変更それぞれ(例えばバグの修正や機能追加)を追い掛け, これらの変更をプロジェクトで作業するプログラマ全員で共有して協調関係を 保つことを助け, そして, 一つのソースツリーへの異なる時刻・異なるプログラマに よる変更を組み合わせます.

"ソース管理の道具" (source management tool) は, "手作業"で追跡管理するには大量すぎるファイルのある, 大きなソースツリーの管理を助けます. ソース管理ツールができることは, 例えば, ツリー中のソースファイルの在庫目録 (inventory)を作ることや, スクラッチファイルやそこに格納されてる可能性のある他のファイルと, ソースファイルを区別すること, そして, ソースファイルの追加や削除がいつだったかを知らせることです.

"コンフィグレーション管理" (Configuration Management) は, 複数の, 分離されて維持されてるソースツリーを一つのツリーに統合する要求に 取り組みます. コンフィグレーション管理ツールは, 結合したプロジェクトを容易に構築することを 助け, 構成部分での開発がどのように同期されたかを追跡します.

なぜ arch を使うのか

arch は他の競合するシステムに較べ多くの利点を持ちます. とりわけ大事なのは以下です:

ツリー全体での作業 arch は, 個々のファイルだけではなく, ツリー全体を追跡し続けます. 例えば, あるツリー中の多くのファイルを変更した場合, arch は, ファイルごとでなく, これらの変更点全てをひとまとまりとして記録することができます; もし, ファイルを改名したり, ツリーを再構成すると, arch は, ファイル内容の変更とともに, これらのツリーの配置も 記録できます.

チェンジセット (changeset) 指向 arch はプロジェクトツリーを単純に"スナップショット"するものではありません. 代わりに, arch は, リビジョンそれぞれと特定の チェンジセット (changeset) を関連付けます: チェンジセットは厳密に何が変更されたを記述します. arch はチェンジエット指向のコマンドを用意することで, チェンジセットを見直したり, チェンジセットを適用することでツリーをマージしたり, どのチェンジセットが適用されたかを調べることでツリーの履歴を調べること等を 助けます.

完全な分散処理 arch 中心のリポジトリ (repository) に頼りません. 例えば, 主なコントリビュータ全員にプロジェクトのアーカイブへの書き込みアクセス権を与える必要はありません. 代わりに, 各コントリビュータは, 作業用に各自のアーカイブを持つことができます. arch は, アーカイブの境界を超えて継ぎ目なしに動作します.

arch Meets hello-world: A Tutorial Introduction to The arch Revision Control System
The Hackerlab at regexps.com