Mercurial でこのようなプロジェクトがあるとします。
root/
proj1
proj2
IntelliJ で proj1 を開く場合、VCS ルートを「ルート」に設定する必要があります。そうしないと、IntelliJ は変更を表示しません。しかし、そうすると、変更されたファイルも proj2 に表示されます。変更を確認しながら、proj2 を除外するか、ルートを proj1 に設定するにはどうすればよいですか?
Mercurial でこのようなプロジェクトがあるとします。
root/
proj1
proj2
IntelliJ で proj1 を開く場合、VCS ルートを「ルート」に設定する必要があります。そうしないと、IntelliJ は変更を表示しません。しかし、そうすると、変更されたファイルも proj2 に表示されます。変更を確認しながら、proj2 を除外するか、ルートを proj1 に設定するにはどうすればよいですか?
File -> Project Structure... -> Modules でフォルダーを非表示にできます
モジュールを選択し、非表示にするフォルダーを選択してから、「除外」をクリックします。
Mercurial はOne Project One Repoとして使用されることを意図しているため、これは注意が必要です。デフォルトでは、mercurial はhg commit
実行時にすべてのファイルをコミットしようとします。めったに使用されない特定のファイルをコミットするコマンドがあります: hg commit -I file1.foo -I file2.foo -I file3.foo
. したがって、基本的には、そのタイプのコマンドを常に実行するように IntelliJ に指示しようとしていますが、そのタイプのコマンドを実行する必要があることを知るために、他のファイルが表示されないふりをします。
コミットダイアログを使用する場合、IntelliJ でコミットすると、コミットするファイルが表示されます。proj2 からファイルのチェックを外すことができます。通常、IntelliJ は将来のコミットからこれらのファイルを無視し続けることを覚えていますが、コミット ダイアログを別の方法で選択すると、再度チェックされているように見える場合があります。
現実的には、各プロジェクトを独自のリポジトリにプルする必要があります。その後、セットアップに関するこれおよびその他の多くの潜在的な問題が解消されます。その理由については、One Project One Repository - Mercurial Used Rightを参照してください。