Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Svn 有没有一种方法可以使用maven自动化特性分支重新整合?_Svn_Maven_Maven Release Plugin - Fatal编程技术网

Svn 有没有一种方法可以使用maven自动化特性分支重新整合?

Svn 有没有一种方法可以使用maven自动化特性分支重新整合?,svn,maven,maven-release-plugin,Svn,Maven,Maven Release Plugin,假设您有一个使用maven和subversion存储库的项目。它由相当多的模块组成。到目前为止,开发都是在主干中进行的,但现在需要引入功能分支。考虑到团队中的所有开发人员都应该开始使用特性分支,这必须尽可能地轻松 因此,要创建分支,您可以使用发布插件,它可以方便地为您创建分支,正确更改所有模块pom的版本号,甚至更新父pom中的部分 现在,如果您想将功能分支重新集成到主干,则发布插件中没有匹配的功能——您必须手动完成所有操作: 与重新整合标志合并 更改所有POM中的版本号 手动更改部分 承诺

假设您有一个使用maven和subversion存储库的项目。它由相当多的模块组成。到目前为止,开发都是在主干中进行的,但现在需要引入功能分支。考虑到团队中的所有开发人员都应该开始使用特性分支,这必须尽可能地轻松

因此,要创建分支,您可以使用发布插件,它可以方便地为您创建分支,正确更改所有模块pom的版本号,甚至更新父pom中的
部分

现在,如果您想将功能分支重新集成到主干,则发布插件中没有匹配的功能——您必须手动完成所有操作:

  • 重新整合
    标志合并
  • 更改所有POM中的版本号
  • 手动更改
    部分
  • 承诺

如果每次都是手工操作,这不仅麻烦而且容易出错(在广泛使用特性分支时,这可能会很频繁)。我知道至少第二点可以通过使用
release:updateversions
version:set
实现自动化,但还需要更多,对吗?我遗漏了什么?

使用maven发布插件没有真正好的方法来做到这一点。您最好的选择是只使用subversion进行合并(将功能分支合并到主干中),然后最终再次从主干中释放。

对于这些与构建系统相关的任务类型,我工作过的大多数工作都是编写自制的perl或python脚本。然后,还实现了其他集成任务,例如为该功能创建或删除测试DNS条目,在开发服务器上创建文件的单独副本,等等。嗯,这听起来仍然很不幸,因为它破坏了maven/subversion生态系统。听起来似乎有必要实现一个定制的maven插件。