gpt4 book ai didi

svn - Subversion 合并需要 "Old style"即使一切看起来都是最新的?

转载 作者:行者123 更新时间:2023-12-04 10:04:04 25 4
gpt4 key购买 nike

我最近从旧的 subversion 服务器/存储库迁移到最新版本 1.8.9。新存储库是在新服务器上从头开始创建的,旧数据是从头开始导入的(我们从旧存储库中 checkout 代码,将其导出到本地以删除所有 SVN 绑定(bind),并将其重新 checkin 新存储库)。

一切似乎都很好。

我们已经使用新的存储库几个月了。我最近去将一个分支合并到主干中。它抛出了大量可怕的树冲突 .我无法理解这一点。主干和分支应该同步(主干中的所有内容也在分支中,唯一的新代码是我们试图合并的分支中的代码)。出于完全的挫败感,我点击了 Do reintegrate instead of automatic merge (old style) :
enter image description here

现在点击合并它工作了吗?!

为什么我不明白?任何人都可以解释为什么会这样和/或 这两种合并类型之间有什么区别? 似乎没有关于这意味着什么的文档。

我唯一能看到的可能有点不寻常的是,我们在某个时候从主干合并到了分支(可能已经进行了一些“紧急”更改以生存)。

相关版本号:

subversion : 1.8.9
Tortoise: 1.8.8
Repository : V6

最佳答案

I wish to know what are the practical differences between "old style" merging and "new style"



TortoiseSVN 手册尚未更新以涵盖新的自动重新集成合并功能,仍然 contains instructions for the old workflow (the one called 'old style')当您明确指定您正在进行重新集成合并时。下面是 TortoiseSVN 中旧样式和新样式的区别:
  • 老款 = svn merge --reintegrate .在 Subversion 1.7 和更早的版本中,您必须通过附加 --reintegrate 显式指定进行重新集成合并。命令行选项。
  • 新款 = svn merge . --reintegrate选项在 Subversion 1.8+ 中已弃用。合并是否重新集成由 Subversion 客户端自动确定。不过,有 3 个先决条件——你的工作副本
  • 不能有任何本地编辑,
  • 不能切换路径,
  • 工作副本不能是 a mixed-revision one .

  • Subversion 1.8 发行说明中描述了新的自动重新集成合并: Automatic reintegration merge (--reintegrate option deprecated) .

    SVNBook 1.8 | Reintegrating a branch 中也描述了该功能。 .您可以将章节与 the SVNBook 1.7 version 进行比较了解 Subversion 1.7 和 1.8 版本之间的工作流程差异。

    TortoiseSVN 1.7('旧式')与 1.8('新式)行为的差异 were well summarized by Bob Archer in TortoiseSVN's users mailing list .

    also preferably an explanation as to why this caused conflicts using new style but not using old style?



    在两次合并后没有看到工作副本的状态(有 --reintegrate 和没有它),我很难说出当时发生了什么以及为什么要指定 --reintegrate明确地改变了行为)。我猜 SVN 1.8 未能检测到重新集成合并,因此您必须显式运行它。

    关于svn - Subversion 合并需要 "Old style"即使一切看起来都是最新的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25450834/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com