Arch

arch(アーク)は、分散型バージョン管理システムとして知られています。しかし、「arch」という言葉は特定のコマンドを指すのではなく、archプロトコルに準拠したリポジトリ(アーカイブ)操作ツールの総称として使われることが多いです。このシステムの設計と主な実装は、Tom Lordによって行われました。

archの種類


現在、主に利用されているarchの実装としては、以下のようなものがあります。

larch: シェルスクリプトで実装されたものです。
GNU arch (tla): larchをC言語で再実装したもので、現在では主流となっています。

archの動作


archは、CVSやSubversionと同様にバージョンを管理するための場所(リポジトリ)を持ち、これを「アーカイブ」と呼びます。しかし、CVSやSubversionとは異なり、アーカイブを集中管理する必要はありません。必要に応じて、他者のアーカイブから分岐させてローカルに独自のアーカイブを作成し、開発を進めることができます。その後、分岐したアーカイブでの成果を元のアーカイブに取り込む(マージする)必要が生じた場合には、そのための便利な補助機能が提供されています。

archでの主な操作


以下にGNU arch(tlaコマンド)を使った操作例を示します。

アーカイブの作成


shell
$ tla make-archive [email protected] /home/foo/{archives}/2004


このコマンドにより、アーカイブ `[email protected]` が作成され、データの実体は `/home/foo/{archives}/2004` に配置されます。この例ではローカルファイルを使用していますが、WebDAVやSSH (SFTP)、FTPを通じてアーカイブを配置することも可能です。

アーカイブに置かれたデータの参照


shell
$ tla categories -A [email protected]
$ tla branches -A [email protected] libA
$ tla versions -A [email protected]2004 libAmain
$ tla revisions -A [email protected]2004 libAmain--X.Y.Z


データは通常、カテゴリ名、ブランチ名、バージョン名、リビジョン名の4つで管理されます。これらの情報を確認するためのコマンドが用意されています。

アーカイブからデータを取得する


`libA--main`ブランチの最新版を取得する場合:

shell
$ tla get -A [email protected]2004 libAmain


`libAmainX.Y.Z` の最新リビジョンを取得する場合:

shell
$ tla get -A [email protected]2004 libAmain--X.Y.Z


`libAmainX.Y.Z--patch-n` リビジョンを取得する場合:

shell
$ tla get -A [email protected]2004 libAmainX.Y.Zpatch-n


編集したアーカイブを登録する


まず、ログを作成します。

shell
$ tla make-log


次に、変更を登録します。

shell
$ tla commit


ローカルコピーを最新版に更新する


ローカルの修正を考慮して更新を試みる場合:

shell
$ tla update


ローカルの修正を無視して強制的に更新する場合:

shell
$ tla replay


変更記録 (ChangeLog) を作成


shell
$ tla changelog


これらのコマンドを通じて、archを使った分散型のバージョン管理が可能です。archは柔軟なワークフローをサポートし、開発者が効率的に作業を進めるための強力なツールとなっています。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。