首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何合并无祖先关系的SVN中标签到Trunk的热修复?

如何合并无祖先关系的SVN中标签到Trunk的热修复?
EN

Stack Overflow用户
提问于 2018-08-03 11:17:52
回答 1查看 70关注 0票数 0

我是SVN新手,我目前的组织流程如下

代码语言:javascript
复制
1)  Trunk (mainline code)
2)  Release-X.0 created from Trunk (for QA and other testing)
3)  Tag-X.0 created from Release-X.0 (to release to customers)

到目前为止,还没有对标记进行热修复。

如果需要在'Tag-X.0‘上执行热修复,我如何将更改合并回'Trunk'?

如果我没记错,'Tag-X.0‘和'Trunk’没有祖先关系,或者'Tag-X.0‘不是从'Trunk’创建的

请让我知道解决方案

EN

回答 1

Stack Overflow用户

发布于 2018-08-03 18:05:25

如果我理解正确的话,您应该提交一个对Tax-X.0的热修复,并且需要将其合并到主干中。在这种情况下,我会选择热修复到主干。

在干线结帐中:

代码语言:javascript
复制
svn merge -c [HOTFIX-REVISION] [Tag-X.0 URL]
svn commit -m "Merged hotfix from Tag-X.0"

这应该就行了。

编辑:对于祖先,Tag-X.0和trunk应该是相关的,因为Release-X.0是从trunk创建的(我假设是复制的),然后Tag-X.0是从Release-X.0创建的,所以Trunk和Tag-X.0的关系应该是存在的。如果情况并非如此,并且版本和标记是通过其他方式创建的,并且svn merge -c不会做任何事情,那么您将需要忽略合并的祖先,即调用

代码语言:javascript
复制
svn merge -c [HOTFIX-REVISION] --ignore-ancestry [Tag-X.0 URL]

Longer示例

因此,用于Tag-X.0的热修复应该是例如

代码语言:javascript
复制
timom@dev-machine:~/svn/tagx0$ svn commit --message "Hot-fix for Tag-X.0"
Sending        services/foo/bar.cpp
Transmitting file data .
Committed revision 30816.
timom@dev-machine:~/svn/tagx0$

和合并到主干

代码语言:javascript
复制
timom@dev-machine:~/svn/trunk$ svn merge -c 30816 ^/tags/X.0
--- Merging differences between repository URLs into '.':
U    services/foo/bar.cpp
--- Recording mergeinfo for merge between repository URLs into '.':
 U   .
 U   services
timom@dev-machine:~/svn/trunk$  svn commit -m "Merged hotfix from Tag-X.0"
Sending        services/foo/bar.cpp
Transmitting file data .
Committed revision 30817.
timom@dev-machine:~/svn/trunk$ 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51664830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档