用于Eclipse和Android开发的Mercurial ignore文件

用于Eclipse和Android开发的Mercurial ignore文件,android,eclipse,mercurial,hgignore,Android,Eclipse,Mercurial,Hgignore,我看到了Mercurial ignore文件的示例,其中包括 我刚刚开始玩Android开发,我也利用这段时间来尝试Mercurial所以我的问题是:有没有人有一个好的.hgignore文件用于Eclipse和Android开发的例子? 首先,我自己有以下几点: # use glob syntax syntax: glob # Ignore patterns .metadata\ bin\ gen\ 是否有其他应包括的忽略模式?例如,Eclipse文件.classpath和.project也

我看到了Mercurial ignore文件的示例,其中包括

我刚刚开始玩Android开发,我也利用这段时间来尝试Mercurial所以我的问题是:有没有人有一个好的
.hgignore
文件用于Eclipse和Android开发的例子?

首先,我自己有以下几点:

# use glob syntax
syntax: glob

# Ignore patterns
.metadata\
bin\
gen\
是否有其他应包括的忽略模式?例如,Eclipse文件
.classpath
.project
也应该从版本控制中省略吗

--在下面编辑--

我还没有完全得到我所希望的答案,所以我会悬赏,并试图更清楚地说明我在寻找什么

在我自己做了一点实验之后,我似乎发现上面列出的建议的
.hgignore
似乎足够了。我只添加了一行
.settings
(这是我运行Android工具->修复项目属性之后出现的文件夹)。我还发现(正如Ry4an所提到的)不应该排除Eclipse文件
.classpath
.project

然而,我不确定,当我接触到比基本教程大一点的项目时,这个小的忽略文件是否足够(如果它真的很好,请解释原因,你会得到学分)。因此,总结一下我想要的:

  • 我想要一个Eclipse下Android项目的
    .hgignore
    文件的具体示例
  • 忽略文件应该是这样的:每当我在一个新位置签出存储库的副本时,它应该立即工作(即不必弄乱路径和引用、添加丢失的文件等)
  • 还请解释为什么include文件看起来像这样(我想了解为什么某些文件/目录被排除在外(以及为什么某些文件/目录肯定应该被包括在内))
  • 如果您包含操作系统特定的排除项,请同时说明(我在Windows7上运行。)

    • 如果它的android项目比


      local.properties也应该被忽略

      eclipse文件肯定应该被添加。一般准则是增加:

      • 所有手写/打字的内容
      • 构建项目所需的所有其他内容的最小子集
      最后一个是你的判断。它显然排除了您自己构建的.jar文件和最终的.apk文件,但它是否包括您使用的第三方.jar文件?有些人确实包含了它们,但更好的方法是为依赖关系管理器(如“ivy”)包含一个配置文件,这样下一个构建器就可以自动下载所需的需求

      在我选择的工具中自动创建项目后,我将执行如下命令:

      hg status --unknown --no-status >> .hgignore
      
      它将所有未知文件的列表添加到.hgignore。然后我进入并删除我想要保存的东西(例如:.project)和将增长兄弟姐妹的通配符文件(例如:*.class)

      以下是我的建议:

      syntax: regexp
      \.DS_Store
      .swo
      .swp
      .metadata/
      /bin/
      

      它是否好是一个单独的问题

      有一个非常好的示例。hgignore for Android位于

      我发现了一个很好的.hgignore示例。它对我有用

      #Mercurial Ignore Rules for Android
      #Save as .hgignore in the repository base directory and add it to source control.
      syntax: glob
      *.class
      *.apk
      *.dex
      *.ap_
      *.suo
      
      syntax: regexp
      ^(.*[\\/])?gen[\\/].*
      ^(.*[\\/])?bin[\\/].*
      ^(.*[\\/])?obj[\\/].*
      ^(.*[\\/])?log[\\/].*
      ^(.*[\\/])?obf[\\/].*
      ^(.*[\\/])?jars[\\/].*
      ^(.*[\\/])?jar-sources[\\/].*
      ^(.*[\\/])?javadoc[\\/].*
      ^(.*[\\/])?\.svn[\\/].*
      ^(.*[\\/])?\.metadata[\\/].*
      ^(.*[\\/])?\.settings[\\/].*
      

      来源:

      +1:hg status--unknown--no status>>。hgignore似乎是一个不错的技巧,谢谢:)由于我对Android开发相当陌生,我希望能有一个全面而具体的例子——正如你所指出的,这两个例子中的第二点是困难的部分。仅供将来参考(而且,如果赏金被浪费得太晚,那将是一种耻辱。):尽管不是很具体,但这个答案提供了我发现最有用的答案。作为一个完整的例子,我最终使用了我在原始帖子中所写的内容(经过几周的实验,这似乎已经足够了)。你是使用glob还是regex?+1作为一个具体的例子。不过,我会等待更多的答案/评论,然后再接受,以便更好地判断它是否是一个好的答案;)你不应该避开第3-5行中的点吗?这一行至少缺少Android特定的“gen”文件夹,我敢肯定。添加赏金后,用额外信息更新了原始问题。我不会忽略
      .settings
      目录。如果您发现Android插件在其中的一些文件中包含特定于您的环境的内容(例如,硬编码路径),请分别忽略这些文件。我也不喜欢在我的工作区之外创建存储库,因此我的忽略列表中通常没有
      .metadata
      (这使我可以灵活地从多个存储库导入项目,尽管我不确定这对您有多重要)。我认为local.properties如果来自Android Studio。