Svn 有没有一种方法可以使用maven自动化特性分支重新整合?
假设您有一个使用maven和subversion存储库的项目。它由相当多的模块组成。到目前为止,开发都是在主干中进行的,但现在需要引入功能分支。考虑到团队中的所有开发人员都应该开始使用特性分支,这必须尽可能地轻松 因此,要创建分支,您可以使用发布插件,它可以方便地为您创建分支,正确更改所有模块pom的版本号,甚至更新父pom中的Svn 有没有一种方法可以使用maven自动化特性分支重新整合?,svn,maven,maven-release-plugin,Svn,Maven,Maven Release Plugin,假设您有一个使用maven和subversion存储库的项目。它由相当多的模块组成。到目前为止,开发都是在主干中进行的,但现在需要引入功能分支。考虑到团队中的所有开发人员都应该开始使用特性分支,这必须尽可能地轻松 因此,要创建分支,您可以使用发布插件,它可以方便地为您创建分支,正确更改所有模块pom的版本号,甚至更新父pom中的部分 现在,如果您想将功能分支重新集成到主干,则发布插件中没有匹配的功能——您必须手动完成所有操作: 与重新整合标志合并 更改所有POM中的版本号 手动更改部分 承诺
部分
现在,如果您想将功能分支重新集成到主干,则发布插件中没有匹配的功能——您必须手动完成所有操作:
- 与
标志合并重新整合
- 更改所有POM中的版本号
- 手动更改
部分 - 承诺
如果每次都是手工操作,这不仅麻烦而且容易出错(在广泛使用特性分支时,这可能会很频繁)。我知道至少第二点可以通过使用
release:updateversions
或version:set
实现自动化,但还需要更多,对吗?我遗漏了什么?使用maven发布插件没有真正好的方法来做到这一点。您最好的选择是只使用subversion进行合并(将功能分支合并到主干中),然后最终再次从主干中释放。对于这些与构建系统相关的任务类型,我工作过的大多数工作都是编写自制的perl或python脚本。然后,还实现了其他集成任务,例如为该功能创建或删除测试DNS条目,在开发服务器上创建文件的单独副本,等等。嗯,这听起来仍然很不幸,因为它破坏了maven/subversion生态系统。听起来似乎有必要实现一个定制的maven插件。