首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cvs2svn迁移后的svn合并问题

cvs2svn迁移后的svn合并问题
EN

Stack Overflow用户
提问于 2010-01-30 04:35:59
回答 1查看 262关注 0票数 1

我们的团队有一个cvs存储库,我们通过cvs2svn将其转换为svn。我们的存储库有一个主分支(让我们在main中调用),它有效地充当了主干(尽管从技术上讲,它在过去很久以前就是从主干中分离出来的)。

在cvs2svn转换之后,我将main分支到branch

我对branch做了一个小改动,然后尝试将branch重新合并到main

代码语言:javascript
复制
[~/main] svn merge https:.../branch

这应该计算出自拆分发生以来branch的差异,并将该差异应用于main。然而,它可以追溯到几年前,导致了无数的冲突。

有什么办法解决这个问题吗?我搜索了谷歌,但什么也找不到。

我知道我可以调用svn merge并传入确切的修订号。我在找一个更好的替代方案。

EN

回答 1

Stack Overflow用户

发布于 2010-02-02 08:51:43

您需要告诉svn merge您的合并点是什么,以便它知道要同步到main的提交范围。因为您没有指定一个范围,所以它缺省为通过HEAD修订的提交范围。这会导致太多的修改。

这将获取您将从中同步的以前的提交修订:

代码语言:javascript
复制
svn log --xml --stop-on-copy https://.../branch | grep 'revision=' | head -n 1 | sed 's/.*revision="\([0-9][0-9]*\)".*/\1/g'

基本上,这将获得分支上的第一个副本修订(我将其称为"REV")。然后将其合并到' main‘副本的HEAD版本中(在main目录中):

代码语言:javascript
复制
cd main
svn merge https://.../branch:REV https://.../branch:HEAD .

这应该会将“分支”副本上从REV到HEAD的所有更改应用到“主”副本。即使对于从分支到主分支的重复合并,这也应该可以很好地工作。

干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2164972

复制
相关文章

相似问题

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