Subversion 合并:我如何干净利落地重新集成“确定性"分支? [英] Subversion Merge: How do I Cleanly Re-integrate a 'Definitive' Branch?

查看:26
本文介绍了Subversion 合并:我如何干净利落地重新集成“确定性"分支?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们一直在试验一种新技术来管理我们的发布分支.

We have been experimenting with a new technique to manage our release branches.

通常,我们在主干上维护我们当前的版本,并为每个版本创建发布分支.发布分支是通常发生积极开发的地方,主干用于修复当前版本的错误.

Generally, we maintain our current release on the trunk, and create release branches for each release. The release branch is where active development usually occurs, and the trunk is used for bug fixes on the current release.

我们会定期将主干中的错误修复合并到发布分支中(每周一次).

We have been periodically merging the bug fixes from the trunk into the release branch (weekly).

现在我们已经准备好发布另一个版本,我们想将发布分支合并到主干中.不幸的是,这会导致许多冲突(> 50).起初我很惊讶,但现在我明白了 Subversion 不能轻易地用主干中存在的东西来纠正分支中的变化.

Now that we are ready for another release, we would like to merge the release branch into the trunk. Unfortunately, this leads to many conflicts (> 50). At first I was surprised, but now I understand that Subversion cannot easily rectify the changes in the branch with what exists in the trunk.

有没有办法告诉 Subversion 在集成回主干时使用分支中文件的所有版本?我们知道文件的分支版本是正确的".

作为替代方案,我们理论上可以放弃主干,只在分支上工作 - 从分支分支以进行发布.

As an alternative, we could theoretically abandon the trunk and just work off of the branch(es) - branching from the branch for releases.

我们使用 TortoiseSVN 和 Subclipse.

We use TortoiseSVN and Subclipse.

推荐答案

来自svn help merge的输出:

--接受 ARG

指定自动解决冲突操作('推迟','基地','我的冲突','他们的冲突','我的全部','theirs-full', 'edit', 'launch')

specify automatic conflict resolution action ('postpone', 'base', 'mine-conflict', 'theirs-conflict', 'mine-full', 'theirs-full', 'edit', 'launch')

要在合并到主干时接受分支更改,您需要--accept theirs-full"选项.

To accept the branch changes when merging to the trunk, you need the "--accept theirs-full" option.

我认为 TortoiseSVN 1.6.2 在 GUI 中没有等效选项.您仍然可以交互式解决冲突 通过选择use repository",因为在合并过程中遇到每个冲突.

I don't think TortoiseSVN 1.6.2 has an equivalent option in the GUI. You can still interactively resolve conflicts by selecting "use repository" as each conflict is encountered during the merge.

这篇关于Subversion 合并:我如何干净利落地重新集成“确定性"分支?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆