0

我是否应该提交整个代码库以及 POM,并让用户一次检查一个项目以获取多个 maven 项目,其中一个包含多个模块?

我应该只提交 POM,并在每个 POM 中配置 SCM 信息吗?

配置 maven SCM 插件时,提交/签出如何工作?您是否通过颠覆存储 POM,检查它们,然后物化 POM,以便 maven 将其余相应文件下载到该项目?如果您需要添加新文件,但您是通过 maven 使用 SCM 怎么办?

我对仅使用 svn(标准方式)存储文件与基于每个 pom 存储 SCM 信息之间的区别感到非常困惑。似乎没有关于如何使用 Maven 并使用 SCM 信息加载它的文档。

是否最好将 SCM 信息直接存储在 POM 中,或者如我之前所说,我是否应该将整个项目添加到 SVN,包括它们各自的 POM?

或者将 SCM 信息直接嵌入到 maven 中,并让 maven 实现所述项目是否更好?Maven SCM 插件是否与 subclipse 配合得很好?例如 - 在您从 Maven POM“实现”一个项目之后,它是否从 SVN 导入项目文件,然后在 Eclipse 中将它们显示为受版本控制?如果我将 SCM 信息嵌入到 maven POM 中,那么我是否会仅为我的 pom 文件创建一个单独的 SVN 存储库?或者我会将所有 POM 文件直接放在我的工程存储库的主干中?

希望有人可以帮助我澄清这一点。我很困惑。谢谢!

4

1 回答 1

2

始终在 SCM 中提交所有源代码。否则,您没有源代码的历史记录。

还要在 SCM 中提交你的 pom,否则你没有关于它应该如何构建的历史。这样的历史对于能够构建软件的旧分支至关重要,并且由于构建和源代码是如此紧密耦合,因此最好将 pom.xml 提交到与源代码相同的存储库中。

为了方便其他 maven 工具,您可能希望在 pom.xml 中提及您的 SCM。这是可选的,但我强烈建议您这样做。这允许 CI 系统验证他们的源代码副本是最新的,并在必要时为他们提供检出新副本所需的配置。

我不知道有任何工具或插件可以实际为您检查代码。如果您不签入源代码,那么所有其他工具都会签出一个简单的 pom.xml(因为这就是 SCM 中的全部内容),而 SCM 参考将无法告诉任何人源代码在哪里代码是(因为它不在 SCM 中)。

于 2012-02-01T17:48:49.760 回答