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

2024-04-30

我最近在 Subversion 中观察到一个非常奇怪的合并冲突。我使用乌龟SVN作为客户端。干线和分行详细信息请参见以下信息:

  • \树干\ 。两个用户正在研究这个问题。
  • \QA\ 是主干合并将发生的分支。
  • 为了简单起见,\trunk\ClassLibrary1.sln 中有一个 Visual Studio 解决方案
  • 目前解决方案中有一个示例项目。 \trunk\ClassLibrary1
  • 两个用户都已完全更新,并且没有任何工作副本更改。
  • 将发生以下事件顺序。

  1. 用户 1 首先在解决方案中添加一个新项目并提交整个目录。 (类库11)
  2. 用户 2 将进行更新并在解决方案中添加一个新项目并提交整个目录结构 ( ClassLibrary12 )
  3. 上下文:在上面的添加中,ClassLibrary11 是我们的特征 X,ClassLibrary12 是我们的特征 Y。现在特征 Y 是稳定的,完全独立于特征 X,可以移动到 QA 分支。
  4. 合并过程:我们转到 QA 分支,将主干中的特征 Y 合并到 QA 分支。它合并成功,没有任何冲突。
  5. 经过 3 周的开发,功能 X 变得稳定,现在我们尝试将功能 X 移至 QA 分支。但是当我们合并时,它会给我们带来 ClassLibrary.sln 文件中的合并冲突

意图:我们希望将整个流程自动化,作为 DevOps 管道的一部分其中功能(完全独立)可以从仪表板提升到不同的分支,这将合并链接到功能的修订。在上述情况下,功能 X 和功能 Y 是完全独立的(在功能和代码文件方面也是如此)。唯一的共同点是解决方案文件 ClassLibrary.sln 文件,其中添加了对这两个项目的引用。

Tortoise SVN 应该自动发现该修订只是 2 个不同提交的重新排序。所以我只想知道一种方法(重新设计/预防性提交),这样就不会发生此类冲突。如果它们发生的话我需要知道,在合并功能 Y(即 ClassLibrary12)时,这会在将来引起冲突


解决冲突的过程不可能自动化。如果可能的话 SVN 会为你做这件事,但事实并非如此,所以它不能。总是需要有人来解决冲突。现在你可能想知道为什么会发生冲突,但我认为这不是一个重要的问题。不要紧。重要的是您对自动解决冲突的期望是不现实的。这是不可能的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Subversion 中合并分支时预防冲突 的相关文章

  • 按元素名称组合/合并列表

    我有两个列表 其元素的名称部分重叠 我需要将其逐个元素合并 组合成一个列表 gt lst1 lt list integers c 1 7 letters letters 1 5 words c two strings gt lst2 lt
  • 如何修复损坏的本地 Subversion 工作副本?

    我通常使用 git 对 Subversion 的基础知识知之甚少 所以请保持温柔 我在 Windows 7 上使用 TortoiseSVN SVN 客户端最近宣布需要升级 所以我就这么做了 所有文件都丢失了源代码管理图标 并且资源管理器中出
  • svn diff 或 git diff 中带有 at 符号的“@@...@@”元行是什么意思?

    当我使用svn diff or git diff它显示如下行 1 5 1 9 他们的意思是什么 这些称为 c hunk 标头并包含范围信息 它们周围有双标志 它们的格式如下 l s l s where l是起始行号并且s是 c hunk 应
  • Windows XP 上无法打开存储库错误

    我正在尝试提交到我的本地 SVN 它一直工作得很好 但今天它给出了这个错误 Unable to open repository file C wamp www svns myproject dir subdir 可能是什么问题呢 编辑 完整
  • Mac OSX 上有哪些与 TortoiseSVN 等效的软件? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 Git“正确”合并代码

    我刚刚通过合并 FETCH HEAD 并获取我最近的更改而不是他的更改来覆盖我同事的代码 我想恢复到合并之前 然后进行合并 强制在他接触文件的地方接受他的更改 但在没有任何其他更改的地方进行合并 我的 git 日志 使用 l2 创建 现在看
  • 为什么 show log 和 svn update 的版本号不同?

    当我对一个 svn 文件夹进行更新时 它会显示最新版本 更新被视为Completed At revision 116 但是当我确实显示该文件夹的日志时 它显示最新的修订号为100在历史上 我的问题是为什么两个版本号不同步 有关信息 当我执行
  • 使用 teamcity 在 svn 中自动分支

    我想知道是否可以使用 Teamcity 进行自动分支 目前 我使用 web 部署自动发布 Web 应用程序 唯一剩下的就是分支 因为我们通常在 svn 中创建一个分支 然后发布下一个版本 任何人都可以建议是否可能以及如何做 打开您的发布版本
  • git Branch -m 对其他开发人员有副作用吗?

    We ve 已经学会了如何切换哪个分支指向哪个分支 https stackoverflow com questions 21848 switch branch names in git using git branch m 如果我这样做 是
  • Azure Devops Pipeline 环境资源代理安装问题

    我一直在尝试在 azure devops 中向我们的管道添加环境资源 但每次我使用他们提供的 powershell 脚本安装它时 它都会要求我提供标签 如果我不想输入标签 则会出错 如果我选择放入标签 则会出错 无论哪种方式 它每次都会重新
  • 在 Eclipse 中加速或关闭 SVN 缓存更新

    每次我打开 Eclipse 时 都会花费很多时间 30 到 60 分钟 来更新 svn 缓存 那么您能告诉我 有什么办法可以加快或关闭 svn 缓存更新吗 如果我关闭svn缓存更新会有什么影响 我注意到在运行 Eclipse Neon 的机
  • 预创建检查出错:“此计算机未启用 VT-X/AMD-v。必须在 BIOS 中启用它”,即使已启用

    运行docker工具箱 v19 03 1 https github com docker toolbox releases tag v19 03 1 从 Windows 10 家庭版产生以下错误消息 Running pre create c
  • Subversion 中所有版本化文件的列表? (按名称删除文件)

    办公室里的一些聪明人设法提交了一大堆 备份 文件 它们以 到我们的颠覆服务器 我最好使用一些基本的 bash 脚本来删除这些文件 而不是手动浏览存储库 有什么方法可以获取目录中所有 subversion 版本控制文件的列表 以便我可以进行一
  • 如何避免开发人员将凭证推送到 bitbucket?

    我们有一个应用程序 它使用 JSON 文件来定义数据库和其他 API 的连接字符串和凭据 理想情况下 这些凭证作为变量添加到 bitbucket 存储库中 并在 Jenkins 的构建期间进行替换 开发商在当地与他们合作时更换了他们 我们需
  • 递归删除属性

    Tortoise SVN 可以选择递归地将属性应用于所有子文件夹 子文件 现在我需要删除这个属性 我怎样才能递归地做到这一点 我没有找到如何使用 GUI 递归删除属性 但您可以使用 svn 命令行工具删除属性 svn propdel PRO
  • 有没有可以在 HTML 文档之间进行比较的 ruby​​ gem?

    事实证明 对两个不同的 html 文档进行比较是一个完全不同的问题 而不仅仅是对纯文本进行比较 例如 如果我在以下之间进行简单的 LCS 差异 Google and Google diff 结果不是 but a gt github com
  • git Blame:合并后正确的作者

    GIT 合并引入了新的提交 这会导致 git Blame 问题 合并的行似乎是由进行合并的开发人员提交的 我可以理解这种情况冲突的变化 因为他解决了冲突 但是有没有办法让非冲突线路不发生这种情况呢 一些 git Blame 的选择 如果没有
  • 如何最好地处理不应该提交的 SVN 和本地更改?

    我已经从 SVN 存储库中查看了一些项目 为了构建这些项目 我必须调整一些配置 例如类路径和属性文件 以适应本地环境 现在我不想将这些更改提交到存储库 因此设置 svn ignore 可能会有所帮助 但是 如果我想从存储库获取更新而不提交这
  • Maven - 从 SVN 提取代码

    我正在将 J2ee 项目从 Ant 迁移到 Maven ant 任务之一是从 SVN 存储库中提取现有源代码编译它 并将其 jar 添加到我当前的构建中作为 Jar 是否可以获取源代码并在 Maven 中编译它 谢谢你
  • 如何让 Gitlab 运行程序在成功构建时将代码合并到分支中

    嗯 标题几乎是不言自明的 总之 如果构建成功 我希望将一个分支 即开发 合并到另一个分支 即生产 我尝试了 jakub kania 解决方案 但我总是得到id rsa invalid format 我认为 gitlab 秘密变量以某种方式被

随机推荐