リビジョンの検索順序

すでに見てきたように、GNU arch はさまざまなキャッシュを持っ ていて、ある特定のリビジョンを取得する場合、可能であれば本来のアー カイブの場所から取得するかわりに、より時間的なコストが安い場所から 取得しようとする。ではそのような場所が複数あった場合にはどうするの だろうか? リビジョンの検索順序は以下のようになる:

  1. リビジョンライブラリを検索する。あればそれを利用 する。

  2. プリスティン・コピーを検索する。あればそれを利用 する。

  3. 最後にアーカイブを利用する。

リビジョンライブラリは複数の場所に保持することが可能で、この 場合にはリビジョンライブラリ自身の検索順序で検索される。プリスティ ンコピーを利用するのは tla get コマンドのオプションで明示的にパス を指定するような特殊な場合に限られる。最後にアーカイブを利用する場 合、アーカイブ中でそのリビジョンがキャッシュされていれば、それを直 接展開する。そうでなければ、最後のキャッシュリビジョン、またはイン ポート時の初期リビジョンを取得した後に、そのツリーに対して順次次の チェンジセットを適用して必要なリビジョンを求める。この最後の場合に は大雑把に言ってリビジョンの数に比例した時間がかかることになる。

アーカイブミラーの話が出てこなかったのは、tla get オペレーショ ンにおいてはミラーと通常のアーカイブを区別することはないからだ。ミ ラーハキャッシュの検索順序の議論よりも 1 レイアー低い場所でキャッ シュするしくみだと言うことができる。