どのように働くか — インポートの効果

import がアーカイブに与える効果について見てみましょう:

        # cd to the directory for the version we are working 
        # on:
        # 
        % cd ~/{archives}
        % cd 2003-example/
        % cd hello-world/
        % cd hello-world--mainline/
        % cd hello-world--mainline--0.1/
        % ls
        % ls
        +version-lock   =README         base-0

それは、リビジョンのために新しい base-0 ディレクトリを作ります。

        % cd base-0
        % ls
        +revision-lock
        hello-world--mainline--0.1--base-0.src.tar.gz
        log

+revision-lock ファイルは常にarchがどのような状況に おいても一貫した状態をとり続けるために内部的に利用されます。

log ファイルは、自分が付けたログメッセージのコピーに いくつかの追加ヘッダーをつけくわえたものです:

        % cat log
        Revision: hello-world--mainline--0.1--base-0
        Archive: lord@emf.net--2003-example
        Creator: Tom (testing) Lord <lord@emf.net>
        Date: Mon Jan 27 16:45:50 PST 2003
        Standard-date: 2003-01-28 00:45:50 GMT
        Summary: initial import
        Keywords: 
        New-files: ./hw.c ./main.c
        New-patches: \
          lord@emf.net--2003-example/hello-world--mainline--0.1--base-0

        This is the initial import of hello-world, the killer app
        that will propel our new .com company to a successful IPO.

最後に圧縮された tar ファイルは、プロジェクトツリーにあるソースファイルの コピーです:

        % tar ztf hello-world--mainline--0.1--base-0.src.tar.gz
        hello-world--mainline--0.1--base-0/
        hello-world--mainline--0.1--base-0/hw.c
        hello-world--mainline--0.1--base-0/main.c
        hello-world--mainline--0.1--base-0/{arch}/
        hello-world--mainline--0.1--base-0/{arch}/.arch-project-tree
        hello-world--mainline--0.1--base-0/{arch}/=tagging-method
        hello-world--mainline--0.1--base-0/{arch}/hello-world/
        [....]

tar ファイルはプロジェクトツリー中のすぺてのファイルを含んでいるわけで はないことに注意してください。それは、以下のコマンドで一覧表示されるファイルを含んでいます:

        % cd ~/wd/hello-world

        % larch inventory --source --both --all
        [....]

最後に、プロジェクトツリーの {arch} サブディレクトリをのぞいてみると、 二つの新しいアイテムができていることに気づくと思います:

        % ls
        ++default-version       =tagging-method
        ++pristine-trees        hello-world

ディレクトリ ++pristine-trees は、インポートされたツリーのコピー (ある深さの) を含んでいます。これは、他のarchコマンドによって利用される キャッシュコピーです。(archの今後のリリースでは、 ++pristine-trees サブディレクトリは別の仕組みによって置き換えられるかも 知れません。)

hello-world (パッチログ)ディレクトリの周辺をのぞいてみると、 今作ったばかりのリビジョンのログファイルのコピーを見つけることができます( 追加のヘッダーが付け加えられた形で見えます)。