svn - 颠覆 : How to merge only specific revisions into trunk when multiple consecutive changes are made in a branch?

标签 svn version-control merge three-way-merge

我一直在使用 TortoiseSVN、svn 和 subclipse,我想我了解基础知识,但有件事一直困扰着我:合并引入了不需要的代码。这是步骤。
trunk/test.txt@r2 .使用“A”和返回创建了一个测试文件:

A
[EOF]
branches/TRY-XX-Foo/test.txt@r3 .分支出trunkTRY-XX-Foo :
A
[EOF]
branches/TRY-XX-Foo/test.txt@r4 .在 TRY-XX-Foo 中进行了不必要的更改并 promise :
A
B (unwanted change)
[EOF]
branches/TRY-XX-Foo/test.txt@r5 .在 TRY-XX-Foo 中做了一个重要的错误修复并 promise :
A
B (unwanted change)
C (important bug fix)
[EOF]

现在,我只想将重要的错误修复合并回主干。所以,我运行合并修订版 4:5 .我最终在我的工作目录中是一个冲突。
trunk/test.txt :
A
<<<<<<< .working
=======
B (unwanted change)
C (important bug fix)
>>>>>>> .merge-right.r5
[EOF]

违背我的意愿,Subversion 现在在主干代码中包含了“不需要的更改”,我需要手动清除它们。在分支中进行多个连续更改时,是否可以仅合并指定的修订?

问题的一部分是 B(未经处理的更改)包含在 .merge-right 中,我无法区分它来自哪个修订版。我通常使用 TortoiseMerge,这是它的外观。

text.txt.working

最佳答案

仅将修订版 4,7 和 11-15 与 svnmerge 合并:

svnmerge.py merge -r4,7,11-15

并使用常规 svn:
svn merge -c4,7 -r10:15 http://.../branches/TRY-XX-Foo

关于svn - 颠覆 : How to merge only specific revisions into trunk when multiple consecutive changes are made in a branch?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/326937/

相关文章:

svn - 在不可靠的互联网连接上使用 svn

svn - 有没有办法在 Netbeans 7.4 中执行 "svn switch"?

laravel - 来自 AWS Codecommit 的克隆存储库

r - 根据另一个数据帧中的匹配条件将列添加到 R 中的数据帧

ios - 通过 Xcode 中的源代码管理将 Storyboard 提交到 SVN

SVN 1.8,当 SVN (1.7) 更新时,数据库已损坏 : 'sqlite: data base image malformed (S11)' , 并且重新索引不起作用'

version-control - mercurial:将错误的更改从稳定的命名分支应用于dev分支

version-control - VCS 适合设计师使用吗?

c++ - 合并排序给出奇怪的答案

python - Pandas 离开加入到位