我所在的团队使用 Subversion 作为其源代码控制管理器。我想编写一个脚本,使分支功能分支更容易。逻辑是这样的:
- 将主干复制到分支
- 查看分支
- 修改 pom.xml,通过更改其版本号、scm 属性等来反射(reflect)这是一个分支...
- checkin 更改
当用户最终执行操作时,我想阻止该 checkin 重新集成
svn merge --reintegrate ^my/feature/branch
因此,请停止 SVN red book 中的文档,我在上面的逻辑中添加了以下步骤。
- 切换到主干
- 执行 svn merge -c 1234 --record-only mybranch
现在,当我尝试将分支追上主干时,我收到一条错误消息
svn: E195016: Reintegrate can only be used if revisions 1234 through 1236 were previously merged.
更糟糕的是,如果我切换回主干并执行合并 --reintegrate,我会得到我不想要的更改。
我想做的事情可能吗?
最佳答案
尽管我的名字出现在“SVN 红皮书”的封面上,但我已经有一段时间没有使用 Subversion 来进行复杂的分支和合并了。但我认为现代方法(至少从 Subversion 1.8 开始)是根本不再使用 --reintegrate
选项来 svn merge
,而只是让 Subversion 计算出要执行的正确合并。这样做时,您所谓的“被阻止的修订版”(通过 --record-only
合并标记为已合并的修订版)应从带回主要修订版的一组修订版中删除通过合并分支。
关于svn - 如何阻止分支中的 subversion 修订版重新集成到主干中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52171356/