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