2012-10-24 7 views
5

私はMercurialをバージョン管理に使用しています。ウェブルートに.htaccessファイルを持っています。ローカルホストか開発サーバーかによって異なる書き換えルールがあります。したがって、 .htaccess "を私の.hgignoreファイルに追加して、バージョンコントロールの一部ではないようにします。Mercurial selective hgignore htaccess files

しかし、.hg/.htaccessに別の.htaccessファイルがあり、 "すべてから拒否する"ので、.hgフォルダにWebアクセスできません。私はこのhtaccessファイルをバージョン管理にチェックインして、新しいサーバなどにセットアップするのを忘れることはないようにしてください。

これを行う方法はありますか?私のhgignoreに ".htaccess"を入れるだけで、どこにあってもすべての.htaccessファイルが無視されるようです。私は "./htaccess"を試しました。ルートレベルを無視したいと思っていましたが、.hg/.htaccessではなく、動作しませんでした。私は研究をしようとしたし、多くの運がなかった。

ありがとうございました。申し訳ありませんが、私はどこかに明白な何かを見逃しました!

答えて

2

これはできません。無視のためではなく、.hgからのファイルのために、水銀で追跡することはできません。

だから、より良い作成し、チェックイン.htaccess.dist要件のほとんどに適合し、あなたが特定のマシン上でそれをチェックアウトした後、テンプレートに - .htaccess.htaceccess.distをコピーして必要な変更を行います。

+0

を参照してください。さて、いい考えのように聞こえる。ありがとう! – Simon

2

(シンプルでエレガントな)ソリューションがあります。 glob sytaxを使っているようです。単純な正規表現では、リポジトリの 'ルート'にあるファイルだけを無視できます。あなただけのメイン.htaccessファイルを無視したい、あなたは.hgignoreに以下を追加する必要があるだろうと言う:

また
syntax: regexp 
^\.htaccess 

、コメントアウトしたり、.hgignoreからの.htaccessを削除します。 syntax: regexpという行の下にあるすべてのパターンは、man hgignoreに書かれているように、Perl/Pythonスタイルの正規表現でなければならないことに注意してください。

希望すると便利です。

+0

ああ、私はあなたがそれのような複雑な正規表現を使うことができると気付かなかった。驚くばかり! – Simon

+0

これは素晴らしいです。私はもっ​​と時間をupvoteすることができれば願っています。 –

関連する問題