.hgignore
各サブポレトのファイルは、そのサブペクトの特殊なファイルとして機能します。あなたのグローバル.hgrc
(としませんでレポでignore = .hgignore
があなたのために動作しませんでしたやって、なぜ
[ui]
ignore.main = \absolute\path\to\mainrepo\.hgignore
理由:次に、各subrepoのhgrc
ファイルでこれを含めることにより、メインリポジトリの.hgignore
主なものとしてを使用することができますhgrc
)は、単純に.hgignore
が相対ファイルパスであり、絶対パスへの解決がhg
を呼び出すときに使用される現在の作業ディレクトリによって決まるということです。例:あなたは\repos\main\
にいるとhg st
を起動した場合
- 、それは
\repos\main\.hgignore
を探します。 hg st -R nested
を呼び出した場合と同じことですが、現在の作業ディレクトリが同じであるためです。
- しかし、
\repos\main\nested\
にあり、hg st
が呼び出された場合、設定は\repos\main\nested\.hgignore
になります。
あなたのホームディレクトリにあるグローバル.hgignore
を指定したい場合は、非相対パス(または少なくともはるかに少ない相対)でそれを指定する必要があります:
[ui]
ignore = ~\.hgignore
私は」そこにあなたの最初の箇条書きの点についてはわかりません。 'hg st -R nested'を呼び出すと、' \ repos \ main \ nested \ .hgignore'が使用されます。これはネストされたリポジトリの作業ディレクトリの '.hgignore'ファイルです。意味するが、それはそのようには読まない。 – icabod
@icabod:テストする* nixマシンはありませんが、これはWindowsの動作です。 'main'と' nested'に異なる 'extra.hgignore'ファイルがあり、' nested \ .hg \ hgrc'に 'ignore = extra.hgignore'を入れて' hg st'と 'hg st -R nested'を実行すると、どちらも 'main \ extra.hgignore'から抜き出します。 '' nested \ extra.hgignore'を取得する代わりに '' nested ''に '' cd''を実行するだけです。 (私のテストでは、 'main'と' nested'の両方に4つの拡張子を付けて4つのファイルを使いました。) –
ああ、私が試していたときにあなたの答えの一部を逃したと思います。私の間違い:) – icabod