忽略Mercurial子目录

时间:2012-09-12 10:27:51

标签: java maven mercurial ignore hgignore

我有一个包含Maven个项目的目录。它看起来像这样:

.hg
.idea
parentProject
project1
   .idea
   docs
   src
   target   
   pom.xml 
project2
   .idea
   docs
   src
   target 
   pom.xml
target
pom.xml
.hgignore

我想忽略所有项目中的.ideatarget目录。我已将.ideatarget目录包含到.hgignore中,但它只忽略.hgignore文件中的那些目录。这意味着仅在根目录.ideatarget中被忽略。

如果我在所有子项目中添加.hgignore文件,则不会更改任何文件仍然不会被忽略。

我的忽略列表如下所示:

build
dist
target
faces-config.NavData
.idea
.iml

我应该如何在.hgignore中指定从任何地方忽略.ideatarget

3 个答案:

答案 0 :(得分:5)

尝试hgignore with regex

syntax: regexp
^\.idea$
^target$

答案 1 :(得分:0)

**/.idea**/target之类的内容怎么样?查看possible patterns here

答案 2 :(得分:0)

您应需要明确忽略target目录。

如果您错误地将其添加到Mercurial,则会出现此问题。假设您已完成以下操作:

  1. 创建了一个项目并编译了几次(因此target目录 存在)
  2. 决定将源代码管理添加到项目中,这样你就可以了 初始化Mercurial存储库并执行hg add命令 (隐式或显式来自IDE)。巴姆!你现在有 告诉Mercurial target是一个应该包含的目录。
  3. 相信我。我去过那儿 !

    要修复:从命令行执行以下操作:

    hg forget target
    

    说到.idea目录,我认为除了使用.hgignore文件之外别无他法,但我很困惑为什么Intellij IDE不会自动添加它。 (我自己不是Intellij IDE用户)。这是真正的问题。