处理SVN中的依赖关系

时间:2011-05-25 18:15:48

标签: java svn

我正在与一个即将编写大量Java应用程序的团队合作,作为更大项目的一部分。我们计划将SVN用于我们的源代码,但我们将依赖于许多其他未使用SVN的团队。他们基本上会编写一些我们将在我们的应用程序中使用的库(以.jar的形式)。

据我所知,如果每个人都在使用SVN,我们可以使用svn:externals,但在不久的将来这似乎不可能。现在我们可能只是每周一次从他们那里获得更新的.jar文件。

我还是SVN的新手,那么处理这个问题的正确程序是什么?我们检查他们的.jar到我们的存储库吗?或者我们应该避免在SCM中使用二进制文件吗?我们还探讨了通过Maven使用依赖管理...这似乎是在团队之间共享二进制文件的一个很好的选择,但我不确定我们是否真的想要一些复杂的东西。

5 个答案:

答案 0 :(得分:6)

我发现依赖管理最好使用maven或ivy存储库。 Artifactory和Nexus有免费版本。然后,您可以从构建脚本中管理它们。 Ivy如果您使用的是Ant,MavenGradle。我更喜欢Gradle。

答案 1 :(得分:1)

检查库,特别是第三方(在你的情况下,我认为你可以称之为第三方),进入SVN(或任何SCM)并不是什么大问题,你从简单性中获得了很多收益。请注意,如果罐子或库存太大而且经常更换,你可能会更加复杂(如Maven,Ivy等)。

SVN擅长处理二进制文件及其差异。

答案 2 :(得分:1)

我建议阅读有关供应商分支的信息:http://svnbook.red-bean.com/en/1.5/svn.advanced.vendorbr.html

答案 3 :(得分:0)

如果空间不是问题(在服务器上),我认为签入二进制文件甚至是依赖项的源代码都不是错误的。对每个人来说都更容易,这样人们就可以毫不费力地结账和建立。

答案 4 :(得分:0)

如果二进制文件很大,那么我肯定会避免将它们检入存储库。我的建议是将最新版本的jar存储在公共共享上,然后挂载到该共享并通过项目文件链接它。这意味着只要一个人必须更新二进制文件,而不是每台机器,只要安装的商店的路径保持不变。

如果它们不是太大,那么检查它们到回购中并不是什么大不了的事。

相关问题