解决 svn update 时的合并冲突

2024-03-02

我正在尝试学习 Eric Sink 的版本控制基础知识 -http://ericsink.com/vcbe/vcbe_usletter_lo.pdf http://ericsink.com/vcbe/vcbe_usletter_lo.pdf

我现在在第22页。我将为你描述一下这个场景。同一台计算机上的两个用户 harry 和 sally 正在处理一个名为 lottery.c 的文件,该文件存储在名为 lottery 的存储库中。

1 - Harry 提交第一个/初始代码。 2 - Sally 更改并提交。 3 - 当 2 发生时,哈利做出了改变,但没有承诺。 4 - Harry 提交并得到一个错误。

Transmitting file data .svn: Commit failed (details follow):
svn: File '/lottery.c' is out of date

5 - 为了解决这个问题,哈利将使用以下命令更新他的本地副本svn update.

这就是我遇到问题的地方!作者说输出是:

lottery harry$ svn update
G lottery.c
Updated to revision 2.

但是,我的输出是:

lottery harry$ svn update
Updating '.':
C    lottery.c
Updated to revision 2.
Conflict discovered in file 'lottery.c'.
Select: (p) postpone, (df) show diff, (e) edit file, (m) merge,
        (mc) my side of conflict, (tc) their side of conflict,
        (s) show all options:

我是新人,不知道如何回复这个消息。我的书有错吗?请帮我。谢谢。


当多人同时更改同一个文件时,两个人很可能都更改相同的行。这就是发生在你身上的事。莎莉改变了哈利改变的同样的台词。当哈利这么做的时候svn update,Subversion 检测到此情况,并询问您该怎么做。

警告:有时 Subversion 只寻找你的版本和他们的版本之间的一行差异,而不是有意义的差异。例如,如果行的缩进发生更改,或间距不同,或者更改了行结尾,Subversion 会将其声明为冲突,即使它可能不是。这也许是为什么这本书没有发现这个问题,但你却发现了。并不意味着你做错了什么。

该怎么办? Subversion 为您提供了一些选择。

  • postpone p: This is what I usually do with this type of situation. Subversion will embed in the file diff markers that look like this in the file:

 

<<<<<<< .mine
foobar
=======
fubar
>>>>>>> .rxxx

这向您展示了修订版 rxxx 中的更改(莎莉所做的)与您所做的更改(哈利的更改)的情况。通常,这些变化都很小,所以很容易弄清楚该怎么做。

  • show diff df: This will show you the differences between your changes (Harry's) and what's in the other revision (Sally's). It basically shows you the diff markers.
  • edit e: You can edit the merge conflict as you do the merge instead of waiting till later.
  • merge m: Not too sure what this does. You're doing the merge right now, so this doesn't make too much sense.
  • their side of conflict tc: Accept what Sally did in order to resolve the conflict. You probably have to redo your changes, but at least you're considering Sally's changes.
  • my side of the conflict mc: The most dangerous scenario because you're completely ignoring Sally's changes. Sally did a fix, and you're possibly unfixing it. When the release comes out, and Sally's fix isn't in it, you will be blamed for removing the change. So, why do you do this? Because you already looked at the changes, and realized the conflict really wasn't much of a conflict. It was a change in indentation or something similar. Or you called a variable increment and Sally called it counter.

正如我所说,我通常会做一个postpone,让我的更新完成,然后处理问题。

一旦你解决了问题,你就做一个svn resolved对该文件进行编辑,让 Subversion 知道您已经解决了冲突。

还有更多选择 - 例如,您可以启动第三方差异/合并工具来处理冲突。

有关详细信息,请参阅 Subversion 在线手册:解决合并冲突 http://svnbook.red-bean.com/en/1.7/svn-book.html#svn.tour.cycle.resolve.

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

解决 svn update 时的合并冲突 的相关文章

  • GIT 或 SVN 或...适用于前端开发人员

    我最近开始将一些项目导入到工作中的 Subversion 存储库中 在接下来的几周内 我希望团队中的每个人都能负责自己的源代码控制管理 我选择 SVN 而不是 GIT 的原因是我想要everyone团队中的人员 包括设计师 前端人员 集成商
  • 无法在 Windows 服务器上使 SVN 预提交脚本失败

    我正在编写一个 SVN pre commit bat 文件 该文件调用 Python 脚本来查询我们的问题跟踪系统 以确定用户提供的问题跟踪 ID 是否处于正确的状态 例如 打开 状态 并与正确的关联项目 SVN 服务器运行 Windows
  • 我怎么知道我的工作副本是否不同步

    我们将当前版本代码的映像保存在某个本地目录中 并且为了构建代码 我们使用该目录中的代码 在构建脚本中 我需要一种方法来确定图像目录中的代码是否与存储库中的当前发布分支同步 如果是这样 我将从脚本内进行 svn 更新 修订号可以以某种方式用于
  • 是否有 Subversion Checkout Hook 或类似的东西?

    我正在使用 subversion 存储库 并且我想知道何时有人要求我的存储库签出 就像 svn co 或 svn up 每当有人从我的 svn 服务器请求信息时 是否可以使用挂钩或其他方法来运行脚本或发送电子邮件 如何在不依赖 apache
  • 如何从 Chrome 扩展示例(subversion 存储库)下载所有文件?

    我要下载这个例子 http src chromium org viewvc chrome trunk src chrome common extensions docs examples api tabs 它们是使用 ViewVC 显示的
  • 使用 Git 处理 subversion:忽略对跟踪文件的修改

    我目前正在使用 subversion 存储库 但我正在使用 git 在我的计算机上本地工作 它使工作变得更加容易 但也使 subversion 存储库中发生的一些不良行为变得非常明显 这给我带来了问题 拉取代码后 有一个有点复杂的本地构建过
  • 您如何构建 SVN 存储库? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 什么是更好的 A server 1080 repo projectA trunk branches branch1 branches branc
  • IIS7 和 ARR 作为 Subversion 的反向代理

    我使用 IIS7 和应用程序请求路由扩展来充当 Apache 上运行的 Subversion 的反向代理 代理工作正常 我能够探索服务器 甚至执行 签出 但是 我无法浏览 ASP NET 通常禁止的文件 例如 cs csproj 等 ASP
  • IntelliJ Subversion 需要身份验证对话框

    我正在尝试从颠覆存储库中签出一个项目 我已输入我的信息 例如网址 用户名和密码 我可以看到我的存储库中的文件夹列表 我选择我的项目并选择要签出到的目录 一切似乎都很顺利 我在 结帐选项 中单击 确定 进行结帐 选择 1 7 格式 这就是我正
  • OSX 通过 macports 安装 subversion 时出错

    我正在尝试安装 subversion 1 7 2 从默认的 Lion 版本 1 6 升级 跑步sudo port install subversion安装成功完成 但是在运行 svn version 时收到此错误 svn version d
  • 使用 reposurgeon 将 svn repo 转换为 git

    我正在尝试使用 svn repo 转换为 git再生外科医生 http www catb org esr reposurgeon 这是我所做的 有一个具有 svn 名称 gt git 名称映射的 repo map 文件 svnadmin d
  • SVN 不会缓存凭据

    我正在使用命令行 svn 客户端 版本 1 6 12 来自 Ubuntu 存储库 但我似乎无法让它缓存我的用户凭据 我正在尝试访问 https svn 存储库 类似于https subversion FAKE com PROJECT htt
  • 是否可以链接 SVN 存储库文件,以便一个文件实际上是对另一个存储库文件的引用?

    我可以看到这个概念有一些潜在的困难 但想法是 我更改存储库 A 中的文件并提交 存储库 B 有一个文件是存储库 A 中文件的链接 我在存储库 B 的工作副本中单击文件上的更新 然后从存储库 A 接收更新的文件 是的 无论如何对于目录 See
  • 使用 git-svn (或类似的)*只是*来帮助进行 svn 合并?

    我的项目中出现了一些复杂的颠覆合并 已经分开很长时间的大分支 Svn 给出了太多的冲突 其中一些看起来是虚假的 鉴于git因卓越的合并体验而受到称赞 用起来有什么好处吗git svn just for使合并更易于管理有何好处 你能推荐其他选
  • Nexus 和 SVN 有什么区别?

    SVN 和 Nexus 都广泛用作开发和集成过程中的源代码存储库 也就是说 当我们可以通过 SVN 设置存储库时 为什么我们真的需要使用 Nexus 甚至 SVN 也有适当的版本控制架构并广受好评 通过谷歌浏览 但似乎没有什么提供明显的区别
  • 如何修复损坏的本地 Subversion 工作副本?

    我通常使用 git 对 Subversion 的基础知识知之甚少 所以请保持温柔 我在 Windows 7 上使用 TortoiseSVN SVN 客户端最近宣布需要升级 所以我就这么做了 所有文件都丢失了源代码管理图标 并且资源管理器中出
  • 如何使用 git-svn 切换 svn 存储库?

    我有许多使用 git svn 创建为 SVN 存储库克隆的 git 项目 我们已将 SVN 存储库迁移到新的提供商 因此 URL 现在已更改 如何更新 git 克隆的远程 SVN URL 一种可能性是我从新的 SVN 存储库重新克隆 但我不
  • 使用 teamcity 在 svn 中自动分支

    我想知道是否可以使用 Teamcity 进行自动分支 目前 我使用 web 部署自动发布 Web 应用程序 唯一剩下的就是分支 因为我们通常在 svn 中创建一个分支 然后发布下一个版本 任何人都可以建议是否可能以及如何做 打开您的发布版本
  • SVN Visual Studio 存储库的工作目录结构

    我刚刚在我们公司为 Visual Studio 项目引入了 SVN 并创建了一个如下所示的存储库 解决方案 是 Visual Studio 解决方案 包含 1 n 个项目 solution1 trunk projectA projectB
  • Ubuntu + SVN:无法打开请求的 SVN 文件系统

    我知道这个问题已经被问过很多次了 我相信我明白答案 但我仍然没有运气 我都尝试过one repo and multiple repos配置 两者都有相同的问题 因此 对于我感兴趣的配置

随机推荐

  • 如何仅显示绘图中特定曲线子集的图例?

    t 0 0 01 2 pi s sin t c cos t m sin t hold on plot t s r plot t c b plot t m g hold off legend cosine 我的绘图中有几条曲线 我只想显示其中
  • 使用 LINQ 对对象列表进行分组

    我有一个对象 public class Customer public int ID get set public string Name get set public int GroupID get set 我返回一个可能如下所示的列表
  • docker-compose 中不同 docker 服务之间的通信

    我刚刚开始使用 docker compose 目前正在努力解决不同服务之间的通信问题 我有2个服务 alice and bob 我希望它们能够互相发送 http 请求 据我了解 服务应该能够通过使用服务名作为主机名来相互访问 很遗憾 ali
  • jQuery 将类添加到单选框未删除

    我使用 jQuery 将一个类添加到单选框 如果它被选中 这工作正常 但在选择另一个单选框时它不会删除该类 我缺少什么 jQuery checkbox radio change function if this is checked thi
  • 在 Visual Studio 中调试期间评估表达式

    我习惯了 Jetbrains IDEA 和 Java 但现在我有一个 NET C 项目并使用 Visual Studio 2017 社区 如果我在 IDEA 中调试代码 当执行在断点处停止时 我始终可以使用 IDE 的 评估表达式 功能来运
  • 从给定的 x86 程序集编写 C 函数

    我正在尝试对这个神秘的函数进行逆向工程 该函数返回一个整数并接受一个结构节点作为参数 include mystery h int mystery struct e4 struct s 头文件是一个简单的结构体声明 struct my str
  • Qt 应用程序:模拟模态行为(启用/禁用用户输入)

    我目前正在开发一个应用程序 该应用程序启动显示附加对话框的单独进程 我试图实现的功能是模拟这些对话框的模式行为 更具体地说 我需要应用程序在对话框启动时停止处理所有输入 包括鼠标和键盘 并在对话框关闭时恢复 对话框保持在应用程序顶部并不是那
  • 不使用 ASP.Net Core 2 中的迁移命令 Update-Database 创建数据库

    我使用 WebAPI 创建了新的 ASP Net core 项目 使用下面的链接 jwt authentication with aspnet core 2 web api angular 5 net core identity and f
  • 使 Java 应用程序对用户不可见

    我正在尝试找出一种方法使 Java 应用程序对用户不可见 基本上只是想删除this http screensnapr com e atyZkF png lt Image 如何才能做到这一点 public class TransparentW
  • 有人可以解释 Spring web.xml 文件吗?

    我是 Java Enterprise 和 Spring 的新手 但我对标准 Java 有很强的掌握 我正在查看一个现有的网络应用程序项目 该项目使用 Tomcat Spring Hibernate 据我所知这是相当常见的 它还使用 DWR
  • 如何在下次按下时聚焦下一个输入(如果有)

    我实际上知道如何做到这一点 但我需要一种不同的方法 所以我有如下文本输入
  • 如何在 macOS 上将 swiftUI 视图导出为 PDF 文件

    我需要在 macOS big sur 上将 swifUIview 导出为 PDF 文件 这是我正在使用的功能 func exportPDF let testView TestView let hostingView NSHostingVie
  • Vulkan 内存对齐要求

    我正在为 Vulkan 设备内存实现一个简单的内存管理器 并希望确保我了解内存的对齐要求以及如何满足这些要求 因此 假设我使用 vkAllocateMemory 分配了一个内存 池 并希望将该池中的内存块子分配给各个资源 基于 VkMemo
  • 全局定义分析器 (ES)

    我需要 想要在全球范围内定义我的自定义分析器 因此我根据这个答案编辑了ES的配置文件 elasticsearch yml 我可以自定义 Elastic Search 以使用我自己的停用词列表吗 https stackoverflow com
  • 在 ag-grid 上使用正确的单元格格式导出到 Excel

    当我使用 ag grid 自己的将表导出到 Excel 时exportDataAsExcel 生成的 Excel 包含日期为General数据类型而不是Date 我用过这个 exportDataAsExcel processCellCall
  • 如何将散点图中的异常值更改为其他颜色

    If I have a scatter plot like this 我想知道是否有任何方法可以将明显的异常值 例如顶部的三个 更改为同一图中的其他颜色 首先 您需要找到 异常值 的标准 一旦你有了这个 你就可以掩盖图中那些不需要的点 在
  • 如何从 JavaScript 调用小程序中声明的方法

    我正在尝试做一个基本的Java小程序 https en wikipedia org wiki Java applet为他们打开客户计算机上的文件 我想通过 JavaScript 调用下面 Java 小程序中的 openFile 函数 imp
  • 有没有办法比较两个会员的排名?

    我有一个 Discord 机器人 我正在编写警告命令 但我需要一个代码来比较两个成员 角色 的排名 例 A人的地位高于B人 如果 B 人试图警告 A 人 机器人会说 你不能警告这个人 如果 A 人试图警告 B 人 机器人就会警告 B 人 怎
  • 找到图像上的特定点

    我正在尝试编写一个程序来解决难题 我的尝试与我用来测试的示例谜题效果很好 现在我正在尝试为一个真正的谜题制作一个 这个新拼图的拼图块实际上没有正确的形状 我设法将图像变成黑白 最后变成 1 和 0 的数组 其中 1 表示片段 0 表示背景
  • 解决 svn update 时的合并冲突

    我正在尝试学习 Eric Sink 的版本控制基础知识 http ericsink com vcbe vcbe usletter lo pdf http ericsink com vcbe vcbe usletter lo pdf 我现在在