Java Subversion与Eclipse中的多模块项目

Java Subversion与Eclipse中的多模块项目,java,eclipse,svn,Java,Eclipse,Svn,我将Eclipse用于SVN存储库中的项目,其结构如下: trunk +- module1 +- module2 module1 (eclipse proj1) -- trunk -- branches -- tags module2 (eclipse proj2) -- trunk -- branches -- tags 大旅行箱 +-模块1 +-模块2 使用TeamSynchronization透视图,我可以更新单个项目,合并也可以处理项目本身。有没有一种方法可以在根级别而不是在项目

我将Eclipse用于SVN存储库中的项目,其结构如下:

trunk +- module1 +- module2
module1 (eclipse proj1)
-- trunk
-- branches
-- tags

module2 (eclipse proj2)
-- trunk
-- branches
-- tags
大旅行箱 +-模块1 +-模块2 使用TeamSynchronization透视图,我可以更新单个项目,合并也可以处理项目本身。有没有一种方法可以在根级别而不是在项目级别执行相同的操作


我正在使用Subversive,但如果Subclipse可以做到这一点,我可能会被说服使用Subclipse。

尝试使用Subversion透视图(或者Subversion Explorer,不记得它叫什么),而不是Team sync透视图。从这个角度看,你可以看到整个回购协议,你可以对其采取行动。那可能会给你想要的。(注意:我总是使用subversive插件来处理svn内容)。

不。Eclipse是从项目的角度来考虑的,因此,如果您在Eclipse中将每个模块作为一个项目,那么Eclipse将只考虑在svn的这个文件夹中进行同步


您可以在Eclipse中从
trunk
作为一个新项目签出,然后如果您愿意,可以同步这个“trunk”项目,尽管我个人会使用一个外部工具,如TortoiseSVN(或来自命令行的svn),以防止Eclipse中出现任何形式的奇怪冲突。

如果您的模块非常清晰地分开(逻辑上和/或功能上),我发现这样组织我的svn回购很有帮助:

trunk +- module1 +- module2
module1 (eclipse proj1)
-- trunk
-- branches
-- tags

module2 (eclipse proj2)
-- trunk
-- branches
-- tags
一开始似乎有些过分(特别是当模块很小时),但我发现在svn中的每个“主干、分支和标记”目录结构和每个eclipse项目之间保持一对一的关系是很有帮助的。它让我可以将每个模块标记为不同的版本(需要时),并与构建脚本很好地集成


如果模块在逻辑上没有分开,那么您可能希望将它们合并为一个;-)

您可能希望使用svn:externals属性。例如:

  • 创建父项目(仅在svn中) 和两个文件夹在那里-模块1 和模块2
  • 添加svn:的外部属性 module1文件夹,其中包含指向 模块1存储库 (svn://serverhost/module1)作为一个 价值观
  • 添加svn:的外部属性 module2文件夹,其中包含指向 模块2存储库 (svn://serverhost/module2)作为一个 价值观
  • 然后您将能够签出/提交整个项目和单独的模块。
    不确定这是否是您想要的。

    该视图称为SVN存储库