如何阻止分支中的Subversion修订版重新集成到主干中?

时间:2018-09-04 17:28:59

标签: svn branching-and-merging

我所在的团队使用Subversion作为其源代码管理经理。我想编写一个脚本,使分支功能的分支更加容易。逻辑如下:

  • 将树干复制到分支中
  • 签出分支机构
  • 通过更改其版本号,scm属性等来修改pom.xml以反映这是一个分支。
  • 签入更改

我想阻止该签到在用户最终执行

时重新集成
svn merge --reintegrate ^my/feature/branch

因此,从SVN red book中的文档开始,我在上面的逻辑中添加了以下步骤。

  • 切换到中继线
  • 执行svn merge -c 1234-仅记录mybranch

现在,当我尝试追赶分支到主干时,我看到一条错误消息

svn: E195016: Reintegrate can only be used if revisions 1234 through 1236 were previously merged.

更糟糕的是,如果我切换回主干并进行合并-重新集成,无论如何我都会得到我不想要的更改。

我想做的甚至有可能吗?

1 个答案:

答案 0 :(得分:3)

尽管我的名字写在“ SVN red book”的封面上,但是我花了很长时间才使用Subversion进行复杂的分支和合并。但是,我认为现代方法(至少从Subversion 1.8起)不再使用--reintegrate选项来svn merge,而是让Subversion解决正确执行合并。这样做时,应从合并带回您的主分支的修订集中省略所谓的“受阻止的修订”(借助--record-only合并标记为已合并的修订版)。