どのように動くか — カテゴリ、ブランチ、バージョンの作成

make-category, make-branch, そして make-version のようなコマンドは実際には何をするのでしょうか? それは概念的には非常に簡単なことです: アーカイブ中に新しいディレクトリを作ります。

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

        % cd `larch whereis-archive lord@emf.net--2003-example`

カテゴリは最上位のディレクトリです:

        % ls
        =meta-info      hello-world

ブランチは次の階層です:

        % ls hello-world
        =README         hello-world--mainline

Versions the third:

        % ls hello-world/hello-world--mainline
        =README         hello-world--mainline--0.1

バージョンもそれ自身、ディレクトリです:

        % ls hello-world/hello-world--mainline/hello-world--mainline--0.1/
        +revision-lock  +version-lock   =README

注意: =README ファイルには 誰がカテゴリ、ブランチ、リビジョンを作り、またそれがいつかという情報が含まれて います。これらのファイルはアーカイブ中のファイルを手で編集してはいけない、 という通常の規則の 唯一の例外になっています。 これらのファイルに含まれているヘッダーフィールド部分から空行で区切られた後 の部分に、新しい任意のテキストを追加することができます。

注意: ロックファイル(たとえば+revision-lock) は arch によって内部的に利用されます。新しいデータをアーカイブに追加するとき、arch は単にmkdirを呼び出すわけではありません。そのかわり、同時に実行されている ほかのコマンドや、あるコマンドが実行途中でkillされたかどうか、などにかかわらず常に一貫した状態 を保つために、アーカイブを注意深く変更します。