如何处理长期存在的特性分支?
How to deal with long-lived feature branch?
我正在开发一个长期存在的功能分支。不幸的是,我不能把所有的时间都花在这个功能分支上,我不得不在日常编码的主干和空闲时间的功能分支之间来回切换。
我正在尝试将主干合并到功能分支中以使功能分支保持最新状态,但遇到了很多冲突,我才意识到原因:
解决冲突后,我将修复后的文件提交给Branch,但是文件的Trunk版本没有改变。它总是会与分支文件发生合并冲突,即使冲突已解决。例如,见下面的冲突:
然后我通过更改文件的 Branch 版本来解决此冲突,然后将其提交给 Branch。分支现在看起来像这样:
现在,如果我再做一次合并,我仍然会在第 3 行遇到冲突,因为文件的 Trunk 版本从未更改过:
问题:在合并和处理冲突方面,你如何处理长期存在的分支?
您使用的 SVN/TortoiseSVN 是什么版本?
当您从 Trunk 合并到 Branch 时,您是否提交 mergeinfo 更改?
据我所知,如果您使用的是现代版本的 SVN(1.10.x 或更新版本)并且您正在正确提交 mergeinfo 更改,则应该没有冲突。
The svn:mergeinfo
property is automatically maintained by Subversion
whenever you run svn merge. Its value indicates which changes made to
a given path have been replicated into the directory in question.
查看 Mergeinfo and Previews chapter of the svnbook 了解更多详情。
我正在开发一个长期存在的功能分支。不幸的是,我不能把所有的时间都花在这个功能分支上,我不得不在日常编码的主干和空闲时间的功能分支之间来回切换。
我正在尝试将主干合并到功能分支中以使功能分支保持最新状态,但遇到了很多冲突,我才意识到原因:
解决冲突后,我将修复后的文件提交给Branch,但是文件的Trunk版本没有改变。它总是会与分支文件发生合并冲突,即使冲突已解决。例如,见下面的冲突:
然后我通过更改文件的 Branch 版本来解决此冲突,然后将其提交给 Branch。分支现在看起来像这样:
现在,如果我再做一次合并,我仍然会在第 3 行遇到冲突,因为文件的 Trunk 版本从未更改过:
问题:在合并和处理冲突方面,你如何处理长期存在的分支?
您使用的 SVN/TortoiseSVN 是什么版本?
当您从 Trunk 合并到 Branch 时,您是否提交 mergeinfo 更改?
据我所知,如果您使用的是现代版本的 SVN(1.10.x 或更新版本)并且您正在正确提交 mergeinfo 更改,则应该没有冲突。
The
svn:mergeinfo
property is automatically maintained by Subversion whenever you run svn merge. Its value indicates which changes made to a given path have been replicated into the directory in question.
查看 Mergeinfo and Previews chapter of the svnbook 了解更多详情。