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