Mercurialが特定のディレクトリ(およびそれらに含まれるファイル/ディレクトリ)を無視する方法を発見しましたリポジトリディレクトリのルートにあるのルートにありますが、のいくつかのレベルのディレクトリにこれを拡張する方法を説明します。この場合 Mercurialで特定のサブディレクトリ以外のすべてを無視する
が、私は唯一のバージョン管理に次のディレクトリたい:結果app/design/frontend/rc
skin/frontend/rc
を、私の.hgignoreファイルは次のようになります。
syntax=regexp
^(?!(app(/|$))|(skin(/|$)))
^app/code
^app/design/adminhtml
^app/design/frontend/base
^app/design/frontend/default
^app/design/install
^app/etc
^app/locale
^app/Mage.php
^app/.htaccess
^skin/adminhtml
^skin/frontend/base
^skin/frontend/default
^skin/install
私はアプリや皮膚内の他のディレクトリを選び出す必要としない、それを行うためのより良い方法があります確信している、と私はおそらく私が思ったいくつかのプロジェクトのためにこれを行うしたいと思うよう私はここで尋ねるだろう。ありがとう。
ネイルは、正しい答えを持っています。正規表現の構文で負のアサーションを使用しないでください。単に "。*"を無視して、追跡したいファイルを手動で 'hg add 'してください。上書きを '.hgignore'で追加します。一度追加すると、regexpで読めない例外が作成されたようになります。 –
以前、私がネガティブアサーションをつぶしていたとき、私はとても近くにいるように感じましたが、ネストされたディレクトリではうまく動作しませんでした。もし私がそれを行う方法を見つけることができれば、新しいファイルが追加されるたびに、希望するディレクトリ/ファイルを手動で追加する必要がありません。 –
私の答えを更新している間、私はあなたの.hgignoreのタイプミスに気付きました。これは 'syntax = regexp'ではなく' syntax:regexp'でなければなりません。 –