arch の名前規約

この章は他の種類のファイルからソースファイルを選択するために archによって利用される名前規約について説明します。

名前規約はファイルのいくつかの分類に基づいています:

        . and ..                この二つは単に arch によって無視されます

        excluded                Excluded ファイルは普通ファイル一覧からは
                                省略されますが、––all
                                フラグがinventoryに渡される
                                と、以下のカテゴリのどれかの中に置かれ
                                一覧に含まれるようになります。

        source                  これはもちろんソースファイルのことです

        precious                自動的に削除されるべきではないような
                                ソース以外のファイルです

        junk                    自動的に削除されるかも知れないソース以外
                                のファイルです

        backups                 自動的に削除されるかも知れないソース以外
                                のファイルですが、削除しようとするプログラム
                                はそれをエディタのバックアップファイルと
                                して扱うべきです(たとえば、その中の一番古い
                                ものと最新のものを保存しておく、など)

        unrecognized            arch が分類の仕方を知らないようなファイルです
                                — そのような名前規約にも当てはまらないか
                                "疑わしい" 名前を持ったファイルです。

名前によってファイルを分類するアルゴリズムにはいくつかの規則があります。 ファイル名それぞれに、そのような規則が、上のリストの順番でひとつひとつ チェックされ、そのファイルに当てはまる最初の規則にたどり着くまで続け られます。

ドットファイルの除外 特別なファイル... は常に目録一覧から 除外されます。

可搬ではない名前は認識されません 空白を含んだり、印字できない文字を含んでいたり、「グラブ文字」 を含んでいるファイルは常に認識不能として分類されます。 グラブ文字とは:

        ? [ ] * \

除外ファイルのテスト inventoryに、––all フラグが 与えられない場合、除外ファイルのパターンにマッチしたファイル名は 一覧から削除されます。もしディレクトリの名前が除外されると、そのディレクトリ の内容全体がスキップされます。デフォルトでは除外ファイルのパターンは、 arch自身が作った制御ファイルにマッチします:

        ^(.arch-ids|\{arch\})$

ゴミファイルのテスト このステップまで到達したすべてのファイルのうち、二つのコンマ (,,) で始まるものは、ゴミファイルとして 分類されます。arch 自身によって作られる一時ファイルは二つの コンマで始まります。さらにゴミのパターンと一致するようなファイルはすべて ゴミファイルとして分類されます。デフォルトでは、 そのパターンは(少なくとも)ひとつのコンマで始まるようなすべての名前にマッチ します。

        ^,.*$

このデフォルトパターンを使って、小技をきかせることができます。 もしソースツリー中にゴミのファイルを作りたい場合、その名前の先頭をコンマ から始まるものにしてください。

バックアップファイルのテスト デフォルトでは、バックアップファイルはこのテストまで到達したファイルのうち、 以下のどれかのパターンにマッチするもののことです:

        ^.*(~|\.~[0-9]+~)$
        ^.*\.bak|\.orig|\.rej|\.original|\.modified|\.reject)$

特殊ファイルのテスト デフォルトでは、特殊ファイルはこのテストまで到達したファイルのうち、 以下のどれかのパターンにマッチするもののことです:

     ^\+.*$
     ^(\.gdbinit|\.#ckpts-lock)$
     ^(=build\.*|=install\.*)$
     ^(CVS|CVS\.adm|RCS|RCSLOG|SCCS|TAGS)$

疑わしいファイルのテスト(認識しない) このテストまで到達したファイルのいくつかは、ソースツリー中におそらく 存在すべきではないだろうという推定のもとで、認識しない ものと して明示的に扱われます。デフォルトでは、以下の拡張子のどれかで終わるような名前は 認識しないものとして扱います:

        .o
        .a
        .so
        .core

さらに、ファイル名core は、(デフォルトでは) 認識しないものとされます。

ソースファイルテスト このテストまで到達したファイルはソースファイルとパターン比較されます。 デフォルトのパー単は以下のようなものです。このパターンは既に出てきた 除外 パターンと重なるかも知れないことに注意してください。 もし––all フラグが inventory に与えられた場合、 除外パターンは利用されず、マッチしたファイルは、 かわりにこのアルゴリズムの後のステップに「素通り」します。

        ^([_=a-zA-Z0-9].*|\.arch-ids|\{arch\}|\.arch-project-tree)$

言い換えると、デフォルトではarchの制御ファイル、制御 ディレクトリは、ソースである(もし除外しなければ)ということになります。 文字、数字、アンダースコア、あるいは等号記号で始まるファイルはソースです。

認識しないファイル このテストまで到達した残りのファイルはすべて、 認識しないものとされます。