SVN - 无法将分支合并回主干 - 许多树冲突

     2023-02-19     79

关键词:

【中文标题】SVN - 无法将分支合并回主干 - 许多树冲突【英文标题】:SVN - unable to merge branch back into trunk - numerous tree-conflicts 【发布时间】:2010-11-03 18:24:41 【问题描述】:

我有一个我认为很简单的场景 - 使用 TortoiseSVN:

1) 我创建了一个应用程序的分支 (B2)(用于实现图像精灵和 JAWR)。

2) 测试和开发在主干上正常进行。

3) 在过去的几天里,我通过以下方式重新建立了几次分支:

3.1) 将主干(按修订范围)合并到我的 branch-b2 工作副本,解决合并期间的冲突。

3.2)(在测试了分支-b2之后),我提交了重新建立的分支-b2。

这一切都如我所料。但是将分支合并回主干对我来说很重要:

4) 在 branch-b2 中提交所有更新之后;我确保在主干和分支 b2 上进行 SVN 更新。

5) 然后,我尝试将分支 b2 中的(修订范围)合并到主干中。但是,对于任何已添加到主干的新文件,然后在我重新设置它时添加到 branch-b2,我都会遇到树冲突。我不确定解决这些冲突的正确方法是什么。

我见过的最典型的建议是从主干中删除树冲突文件,然后合并分支;或者删除整个主干,将分支文件复制过来,然后将它们作为新版本提交到主干中。这两个选项似乎都不是一个好主意——第一个很痛苦,而且似乎它们都会丢失文件修订历史记录。

我做错了什么,我该如何解决?

【问题讨论】:

【参考方案1】:

我想我解决了这个问题。 1.右键单击您合并的“分支”。 2. 点击 Tortoise SVN >> 合并 3.“合并一系列修订”和下一步 4. !!!检查“反向合并”!!! ,从“分支”合并的 URL,具体范围“最近合并的修订版”,和 Next 5. 下一步 6. SVN 提交

之后我可以从分支合并到主干。

【讨论】:

【参考方案2】:

这里有更多信息可以为@Rytmis 的回答做出贡献,这有助于我保持直截了当。

使主干完全像分支或标签的高级步骤:

    从行李箱结帐。 使用主干的工作副本,从主干合并到分支/标签。 提交。

“svn”命令行命令示例:

svn checkout <trunk url>
cd trunk
svn merge <trunk url> <branch/tag url>
svn commit -m "<message>"

【讨论】:

这是一个“2-URL”合并,根据文档,它旨在将两个分支合并为一个(工作目录)。所以这两个 URL 是源,目标是工作目录。可能不是 OP 想要的。【参考方案3】:

在使用 TortoiseSVN 选择“合并一系列版本”选项时选择要合并的版本。这将防止每次合并操作再次出现相同文件的树冲突。

【讨论】:

【参考方案4】:

我无法真正弄清楚上述解决方案是如何工作的,所以我的解决方法有所不同。首先,我确保分支包含主干的所有更改。

1)我得到了一个新的后备箱副本。 2)我使用 tortoise svn export 将分支导出到一个临时位置。 3)我使用 Windows 资源管理器将整个分支树复制到主干并覆盖了所有文件 4)我在 tortoise 上使用了检查更改命令并包含所有未修订的文件复选框。 5)我选择了所有文件并点击添加。

您应该使用尚未构建的解决方案,以便未修订的文件不包含输出。

我等不及我们升级到 1.5+

【讨论】:

【参考方案5】:

我调查了同样的问题。 它是 Tortoise SVN 1.6.5 中的“功能”。 TortoiseSVN 1.5 与我们的存储库 (SVN 1.5) 配合得很好。 TortoiseSVN 1.6.5 变基时将主线中的文件添加为 NEW(不保存合并历史)。 重新集成分支会导致将这些文件视为与主线冲突。

我通过使用 TortoiseSVN 1.6 “重新集成分支”的功能解决了这个问题。它专门用于功能分支。

-- 阿列克谢·科尔松

【讨论】:

谢谢。在关于这个“树冲突”问题的所有讨论中,这个帮助我正确解决了它。【参考方案6】:

听起来您正在使用 1.5 之前的合并样式并尝试将分支重新集成到主干中。在这种情况下,您要做的是首先确保所有主干更改都已合并到分支中,然后不是将分支范围合并到指向主干的工作副本,而是要合并“FROM trunk @HEAD TO branch@HEAD”,工作副本指向主干。本质上:

“给我我需要的所有更改,以使主干与分支相同”。

如果您已经将所有主干更改合并到分支,则此方法有效,因为主干和分支之间的唯一区别是在分支中所做的更改。

有意义吗? :)

【讨论】:

1.5 及以后的版本,您可以跳过第一次合并中的修订范围,并使用“svn merge --reintegrate branch”之类的内容进行第二次合并(不记得 TSVN gui 的细节)。不利的一面是,在重新集成后,您必须重新分支,因为重新集成对 mergeinfo 做了一些有趣的事情。 感谢@Rytmis,我刚刚成功完成,但我想为 Tortoise 用户提供翻译。 1) 将工作副本切换到分支(如果还没有的话) 2) 右键单击​​工作副本,TortoiseSVN > Merge > "Merge a range of revisions",单击 Next 3) URL to merge from = Trunk,单击 Next , Merge 4) 将工作副本切换到 Trunk 5) 右击工作副本,TortoiseSVN > Merge > "Merge two different trees", 点击 Next 6) From: Trunk (使用 HEAD revision) To: Branch (use HEAD revision) 7)单击下一步,合并。 8) 提交您的工作副本。完成 这个解释解决了我们流程中的几个冲突。谢谢大家:) Svn 合并的时候吓到我了 :( 这些说明并不真正适用于 SVN >= 1.5 的版本,而且我早就放弃了使用 SVN 进行除其他人系统的简单结帐以外的任何事情,所以恐怕我在这里帮不了你。 :(

为啥我在 Subversion 中遇到树冲突?

...间】:2010-10-1819:28:00【问题描述】:我的主干有一个功能分支,并且定期将我的主干中的更改合并到我的分支中,一切正常。今天我将分支合并回主干,在创建分支后添加到我的主干的任何文件都被标记为“树冲突”。以后有办... 查看详情

svn分支整个项目合并主干

...选择(合并一个版本范围)点击下一步--合并源选择整个分支项目--将要合并的修改版本范围(选择指定(a)范围)点击下一步--点击合并。   3.如果有冲突先推迟解决冲突,冲突一个一个检查,检查没问题解决冲突。... 查看详情

svn将主干的代码合并到分支上

...978154 问题:开发有了项目主干,再次基础上起了一个分支,开发新的功能;因为业务需要,在上个分支还在测试阶段,还没有和主干合并;  但是新的业务又急着开发,又在上个分支的基础上又打了一个分支   这样... 查看详情

SVN 分支到主干合并问题

】SVN分支到主干合并问题【英文标题】:SVNBranchToTrunkMergeIssue【发布时间】:2015-03-2804:17:27【问题描述】:我已经尝试用谷歌搜索手头的问题,但无济于事。我的团队处于一个有趣的境地。我们的发布分支需要合并回我们的主干... 查看详情

新的未修改分支上的树冲突

...7-0620:41:09【问题描述】:我发现自己遇到了一个目前似乎无法解决的问题。我在主干中创建了一个新存储库,其中包含我项目的主要副本。然后我从工作副本创建一个分支,并在新的本地工作副本中重新签出该分支。(已编辑)... 查看详情

svn合并分支到主干

分支库中单元测试通过的源代码要合并到主干,例如有一个开发中的代码branches->dev需要合并到主干trunk。步骤:第一个步骤:在本地副本上进行操作,选择主干上的源代码文件,右键选择tortoiseSVN菜单,... 查看详情

svn合并分支到主干

分支库中单元测试通过的源代码要合并到主干,例如有一个开发中的代码branches->dev需要合并到主干trunk。步骤:第一个步骤:在本地副本上进行操作,选择主干上的源代码文件,右键选择tortoiseSVN菜单,... 查看详情

如何在颠覆中将维护分支中的错误修复合并回主干

】如何在颠覆中将维护分支中的错误修复合并回主干【英文标题】:HowdoImergeabugfixfromamaintenancebranchbacktotrunkinsubversion【发布时间】:2012-09-2014:58:35【问题描述】:在svn的书(http://svnbook.red-bean.com/en/1.7/svn.branchmerge.commonpatterns.html)中... 查看详情

svn版本分支及冲突解决笔记

转载:http://blog.csdn.net/xuguiyi100/article/details/51966557分支合并主干示例1.主干工程右键选择merge合并下一步2.选中mergetwodifferenttrees下一步3.from主干版本路径,版本号选择分支分出去的版本号  to合并的分支目录,版本号一般最... 查看详情

svn树冲突

...述】:我不断遇到树冲突,即使阅读所有线程,我似乎也无法理解原因。我的背景是清晰的,所以svn对我来说是新的。当我将树冲突与任何clearcase活动联系起来时,它没有意义。以下是导致问题的我的情况。我有树干、分支和标... 查看详情

实用svn主干trunk自动merge到各个分支branch脚本

实用svn主干trunk自动merge到各个分支branch脚本 大多数使用svn的公司,当发现bug时或新功能时,会从主干trunk直接产生一个分支branch,如叫bug01。接着同事A修改里面的bug,如果测试通过,就提交分支,将分支bug01合并到主干,并解... 查看详情

合并两个带有分支和标签的 SVN 存储库

】合并两个带有分支和标签的SVN存储库【英文标题】:MergetwoSVNrepositorieswithbranches&tags【发布时间】:2014-11-1516:25:11【问题描述】:我有两个SVN存储库,我想将它们合并为一个,它们都有多个分支和标签,我想与所有版本历史... 查看详情

无法将上游更改合并回我的分支

】无法将上游更改合并回我的分支【英文标题】:Troublemergingupstreamchangesbackintomybranch【发布时间】:2011-08-1123:43:59【问题描述】:我在尝试将上游更改合并回我的分支时遇到了冲突,我不确定如何解决它们。我创建了自己的分叉... 查看详情

将分支合并到主干

】将分支合并到主干【英文标题】:MergeaBranchintoTrunk【发布时间】:2011-11-2516:40:42【问题描述】:我在使用SVNmerge时遇到了一个特殊问题。我想从开发分支合并到主干。我们有多个dev分支同时切断了主干。我正在使用以下命令将... 查看详情

svn如何把主干上的修改合并到分支上来

...有不同模块,现在是把相同模块作为主干,不同模块作为分支,如果在主干修改后合并到每个分支上去同步。目前只是在分支上一个个把主干合并过来,能不能直接在主干上一次性分发一样合并到每个分支上那就写个脚本好了,... 查看详情

在 Subversion 中合并分支时的冲突预防

】在Subversion中合并分支时的冲突预防【英文标题】:conflictspreventionwhilemergingbranchesinSubversion【发布时间】:2019-01-1011:05:51【问题描述】:我最近在Subversion中观察到一个非常奇怪的合并冲突。我使用乌龟SVN作为客户端。主干和分... 查看详情

git分支管理

分支操作功能就是复制一个副本进行修改,修改过程中不会影响主干的运行。实际上就是一个指针,指向本地库。master是主干命令:gitbranch+分支名创建分支命令:gitbranch-v查看有哪些分支命令:gitcheckout+分支名切换分支命令:git... 查看详情

如何利用svn合并代码

...来合并,也是最灵活的一种合并方式,可以是主干合并到分支,或分支合并到主干;主要应用场景是把分支或主干里面的一部分修改同步到主干或分支中去;甚至支持不同库的两个分支,当然这两个分支要求是相同的目录结构。... 查看详情