【问题标题】:Eclipse projects: files to be subversionedEclipse 项目:要颠覆的文件
【发布时间】:2011-02-16 21:03:25
【问题描述】:

我创建了一个 Eclipse 项目,现在我想将它放在我的 SVN 存储库中。我应该将哪些文件放在忽略列表中?有很多文件我不知道它们是用来做什么的。有 .history、.root、.safetable、.log、.settings 等文件夹以及许多 .index 文件,还有一些 .running 文件。我可以把所有这些都放在忽略列表中吗?你知道哪些扩展/文件夹可以一直被忽略吗?

谢谢。

【问题讨论】:

  • 我只提交 src 文件夹并避免提交以点 . 开头的任何文件/文件夹但很大程度上取决于您的文件夹结构,我的信念是仅提交源 .

标签: eclipse svn


【解决方案1】:

答案很大程度上取决于您的项目。提交源代码是一件好事,但它会迫使新开发人员重新创建项目环境,这可能会很痛苦。如果您将 Maven 与 m2eclipse 插件一起使用,则仅提交 srcpom.xml 是一个好方法,因为只需几分钟即可从 src 和 pom.xml 重新创建 Eclipse 环境。

另一方面,可以提交.classpath.project 但是这也意味着额外的工作,例如从不直接使用外部jar,而是通过变量或用户库等。

【讨论】:

    【解决方案2】:

    如果您有时间进行实验,为什么不检查所有内容,让同事检查项目,看看是什么引发了错误?如果您的同事没有像您一样组织她的硬盘驱动器,那么任何引用项目外部路径的东西都可能会失败。这些东西应该改为引用变量,或者不置于版本控制之下。

    让您的同事构建项目,运行 IDE,然后同步到存储库以查看发生了什么变化。应省略易失性文件、运行时日志和临时文件。任何使其他开发人员更容易设置项目并开始运行的东西都应该包括在内。花时间进行实验将帮助您更好地了解您的项目是如何设置的。

    基本上,您希望避免签入从源代码派生的任何内容(例如 Java 项目中的 .class 文件)或每个开发人员必须针对其本地环境更改的任何内容,例如在项目目录之外具有绝对引用的文件。我过去用于处理需要开发人员自定义的配置文件的一种方法是包含文件的副本,通常带有额外的 cmets,扩展名为 .example。在 README 或其他文档中明确需要自定义哪些示例文件以及文件的“真实”名称应该是什么。还要在 svnignore 列表中包含“真实”文件名,这样它就不会被签入并覆盖每个人的本地自定义。

    解决您的具体示例:

    .history、.root、.safetable、.log、 .settings ... 和许多 .index 文件, 还有一些.running

    .settings 是您必须尝试的一种。如果您有所有开发人员都需要遵循的设置(例如代码样式或格式指南),那么将这些设置置于版本控制之下会很方便,但其他一些设置可能并不适合所有开发人员。其他示例我不熟悉,可能是因为它们与我不使用的一种 Eclipse 项目相关联。

    【讨论】:

    • 我突然想到 .index 文件可能是什么。您是在查看工作区目录而不是项目目录吗?您的工作区的 .metadata 文件夹下可能有 .index 文件。
    【解决方案3】:

    我的第一个猜测是,任何名称以点开头的文件都不应该进行版本控制。最常见的此类文件是指与项目无关的 Eclipse 设置。

    现在,Java 项目中的 .project 和 .classpath 文件非常“依赖于项目”,我通常将它们包括在内。

    要获得更准确的答案,您应该指定您正在处理的项目类型。

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 1970-01-01
      • 2010-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      相关资源
      最近更新 更多