2009-11-23 6 views
8

新しいリポジトリを作成するたびに、デフォルトで.hgignoreファイルに特定のフィルタが自動的に追加されるようにしたいと考えています。TortoiseHG/Mercurialで.hgignoreファイルのデフォルトを作成したい

たとえば、C#プロジェクトのために、私はこれらを追加することがしたいと思います:

glob:bin/* 
glob:obj/* 

が、これは可能ですか?どうやって?

自動化できない場合は、少なくとも1つのリポジトリから.hgignoreファイルを別のリポジトリにコピーすることは安全ですか?

+0

まだご覧になっていない場合は、このページをご覧ください:http://www.selenic.com/mercurial/hgignore.5.html –

答えて

9

でこれをやった小さな拡張機能を作成する必要があると思います。 hgignoreと私のレポにそれだけのCP。私の〜/ .hgrcで

[ui] 
ignore.other = ~/.hgignore 

私はちょうど1つで本当に明白なものを置きます。プロジェクト固有のものをコピーします。

私はオートメーションがないので、あなたが求めているものとは思えませんが、それはそのトリックです。

Windowsユーザーについては、下のRy4anのコメントを参照してください。

+0

私はコマンドライン言語ではまだ分かりませんが、実際にあなたが何を言っているのかは分かりません。私は読まなくてはならないが、一方、TortoiseHGで何を言っているのかは何か方法はあるのだろうか? – devuxer

+0

グローバル設定ファイルをtortoisehgでも編集できます。設定 - >グローバル - >ファイルを編集します。 – Macke

+5

ダン、それはコマンドラインとは関係がありません。 あなたのホームフォルダにhgrcという名前のファイルを作成するか、オプションでwindows上にある場合(私はあなたのことを推測しています)、mercurial.iniという名前のファイルを作成し、そこから答えた2行を入力します。次に、.hgignoreという名前のホームフォルダにファイルを作成し、質問の2行を入力します。 TortoiseHGは素晴らしいアプリですが、Mercurialは設定にテキストファイルを使用しています。テキストエディタでテキストファイルを作成する必要があることがあります。 –

1

hg add .hgignore

おそらく、あなただけのファイルがチェックインすることを持っていたレポからクローンを作成できます。:)

をそうしないと、私は〜/使用hg init何とか

+0

.hgignoreファイルをあるリポジトリフォルダから別のリポジトリフォルダにコピーするとどうなりますか?システム)? *単純なテキストファイルであるようです。適切に動作しない理由は何ですか? – devuxer

+1

はい、それも動作します。あなたはそれを試していない? – Macke

+0

ありがとう、私はそれを試してみました...私は気づいていない副作用がないことを確認したかっただけです。 – devuxer

3

あなたはあなたのためにそれを行うには、ポストのinitフックを使用することができます。

[hooks] 
post-init.ignore-bin = echo 'glob:bin/*' >> .hgignore 
post-init.ignore-obj = echo 'glob:obj/*' >> .hgignore 

このフォームは唯一あなたがより速くhg init sampleフォームを使用している場合、それは新しい.hgignoreをダンプしますレポを作成するmkdir sample && cd sample && hg initスタイルで動作しますファイルを現在のディレクトリにコピーします。

hg init nameを好む場合は、よりインテリジェントなフックスクリプトを書くことができます。

+0

悪い考えではありません。私は上級ユーザーの方が気に入っていますが、新しいユーザーは「取得する」ことはできないと思います。 – dlamotte

4

明確にするために、.hgignoreを1つのreposから別のreposにコピーすることは安全です。単純な単純なテキストファイルです。