The Hackerlab at regexps.com

新規アーカイブの作成

up: arch Meets hello-world
next: 新規プロジェクトの開始
prev: arch へ自己紹介

アーカイブは、arch がプロジェクトツリーやチェンジセットのライブラリを保持するのに使う専用のディレクトリです. この章では新しいアーカイブの作りかたを示します.

場所を選ぶ

あなたのアーカイブをどこに格納するかを決める必要があります: つまり, アーカイブを収容するディレクトリをどこに作るのかについてです.

使用上の勧告: いつの日にか一つより多くのアーカイブを持ちたくなることは, ありそうなことです. ゆえに, アーカイブ用のディレクトリを作るのは良い考えです。

以下の例では、アーカイブ用のディレクトリである ~/{archives} の, サブディレクトリとしてアーカイブを作成します.

        # (複数の)アーカイブを格納するディレクトリを作成する
        #
        % mkdir ~/{archives}

アーカイブ名を選ぶ

次に, アーカイブの名前を選ぶ必要があります。 アーカイブ名の構成は, メールアドレス, 続けて2つのダッシュ(--), さらに続けてサフィックス, です. 慣習では, メールアドレスはアーカイブ所有者のものであるべきです.

この例では、次の名前を用います:

        lord@emf.net--2003-example

使用上の勧告: 一つのアーカイブをとても長い期間使うと, とても沢山のデータが蓄積するため, 作業が不便になっていきます. arch はアーカイブの境界を継ぎ目なしに動作するので, 全てを一つのアーカイブだけに保持する必要はありません。 アーカイブを時間で分割するのは良い考えです. このことは, アーカイブ名に日付を入れることを示唆します. 上の例では、アーカイブは 2003 とラベル付けされてます: 一年後, lord@emf.net--2004-example を作成し, プロジェクトを新しいアーカイブで継続できることでしょう. 2003 のアーカイブは、その時点でまだ存在します. 単に新規データを追加するのをやめるだけです.

使用上の勧告: あなたは複数のアーカイブを持つことを予定すべきです, よって, それらを区別するアーカイブ名を選択するべきです。 上述の, サフィックス -example が意味することは, このアーカイブはチュートリアルの例で作業するためだけに作られたということです.

アーカイブを作る

新しいアーカイブを作るには, make-archive コマンドを使い, そこでアーカイブ名とアーカイブの場所を指定します:

        # 新しいアーカイブを作成する
        # 
        % tla make-archive lord@emf.net--2003-example \
                             ~/{archives}/2003-example

これをあなたのデフォルトアーカイブにする

コマンドを実行するたびにアーカイブ名を入力することを省くため, 新しいアーカイブをデフォルトで選ぶものだと宣言します:

        # デフォルトのアーカイブを選ぶ
        # 
        % tla my-default-archive lord@emf.net--2003-example

現在のデフォルトアーカイブを知るには:

        % tla my-default-archive
        lord@emf.net--2003-example

次のコマンドで, デフォルトの設定を取り消せます:

        % tla my-default-archive -d
        user default archive removed

(もし -d を試したときは, 以下の例を続けられるように デフォルトアーカイブを再設定して下さい.)

どのように動作するのか -- 新規アーカイブ

以上のコマンドが何をしたかを調べましょう.

まず、いまや tla は新規アーカイブのことを知ってます:


        # どのアーカイブのことを `tla' は知っているのか?
        # 
        % tla archives
        lord@emf.net--2003-example
                /home/lord/{archives}/2003-example

        
        % tla whereis-archive lord@emf.net--2003-example
        /home/lord/{archives}/2003-example


        # そのデータの格納場所は?
        # 
        % ls ~/.arch-params
        =default-archive        =id             =locations

        % cat ~/.arch-params/=default-archive
        lord@emf.net--2003-example

        % ls ~/.arch-params/=locations
        lord@emf.net--2003-example

        % cat ~/.arch-params/=locations/lord@emf.net--2003-example
        /home/lord/{archives}/2003-example


次に、アーカイブディレクトリが作られて数個のファイルを格納してます:


        % ls ~/{archives}
        2003-example

        % ls -a ~/{archives}/2003-example
        .                       .archive-version
        ..                      =meta-info

        % cat ~/{archives}/2003-example/.archive-version
        Hackerlab arch archive directory, format version 2.

        % ls -a ~/{archives}/2003-example/=meta-info/
        .       ..      name

        % cat ~/{archives}/2003-example/=meta-info/name
        lord@emf.net--2003-example


注意: ふつうは ~/.arch-params/ にあるファイルやアーカイブ中のファイルを"手で"編集すべきではありません.

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