GNU diff3(三向合并)给出了意想不到的结果

2023-11-29

假设文件 MINE 和 YOURS 是 OLD 的后代。

文件_我的=



abc
def
ghi
  

文件_旧=



abc
jkl
ghi
  

文件_你的=



abc
def
ghi
  

Command diff3 -m MIND OLD YOURS gives:



abc
<<<<<<< OLD
jkl
=======
def
>>>>>>> YOURS
ghi
  

diff3 无法解析“我的”和“你的”所做的相同更改。

为什么?并且,有办法解决这个问题吗?

用这个来刺激你的大脑:

diff OLD MIND and diff OLD YOURS他们的输出中有相同的帅哥。



2c2
< jkl
---
> def
  

在三路合并期间,这些猛男不应该“取消”吗?


你期望得到什么?

As the 描述 diff3 实用程序的文章 says:

...这个(合并)事实并非如此当所有三个输入文件不同或当只有年龄不同时;我们称之为conflict。当所有三个输入文件都不同时,我们将冲突称为冲突overlap

因此,您所描述的情况被视为冲突。 '为什么这样?'你可能会问。因为diff3算法。您可以在同一页面找到说明:

您可以将其(合并)视为减法older from yours并将结果添加到mine,或者将那些会变老的变化融入到你的变化中

它无法正确解决差异,因为它没有适当的更改背景。

如果您要说它应该使用其他方法来工作,我会同意您的观点。但是它就是这样啊。 diff3 并不完美,如果您想按照中所述正确操作,我建议您使用其他工具article

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

GNU diff3(三向合并)给出了意想不到的结果 的相关文章

随机推荐

  • Android:查找动态创建的视图的ID

    我有以下问题 在 Android Studio 中我生成 enEditText动态地当ExerciseButton被点击 public void exerciseButtonClick View view EditText exercise
  • 在 Vertex AI 用户管理笔记本启动时公开现有环境的内核

    这是一个延续这个线程 发布在这里 因为它太复杂 无法发表评论 TL DR 在 Vertex AI 用户管理笔记本中 如何通过重复的停止和启动周期保留存储在数据磁盘上的现有 venv 以及 conda 如果可能 环境的公开内核图标 Detai
  • 为什么 scrapy xpath 函数不支持 'matches()' 语法?

    我正在运行 scrapy 0 20 2 scrapy shell http newyork craigslist org ata 我想列出广告页面的所有链接 并将其与index html分开 sel xpath a contains hre
  • 我可以配置 Hibernate/JPA 在仅修改非时间戳字段时更新实体记录吗?

    目前我有一个 Hibernate 实体类 如下所示 Entity Table name entity public class Entity implements Serializable private static final long
  • Elixir 到 Erlang 的转换

    我想看看当 Elixir 转换成 Beam 文件时会发生什么 有没有办法在控制台或文件中打印它的翻译方式 我想知道这个模块在 erlang 中是什么样子的 我在想是否有 Elixir 的调试模式 它会输出以上任何内容 更具体地说 我有这个例
  • PHP:oci_bind_by_name 和时间戳字段导致“ORA-01461:只能绑定 LONG 值以插入 LONG 列”

    我有一个 Oracle 数据库 需要将包含 YYYY MM DD HH MM SS 格式的日期的字符串插入 Oracle 时间戳字段中 为此我写了这段代码 date 2013 01 01 10 10 10 sql oci parse c I
  • 使用 nlm 函数进行多变量优化

    nlm 函数可以用于多变量优化吗 那会如何运作呢 例如 我想找到 x 和 y 以使 f x y 最小化 nlm 函数如何工作 类似的东西 nlm f c 0 1 0 1 创建一个接收向量的函数 f lt function X x lt X
  • 如何使用请求访问此类网站? [复制]

    这个问题在这里已经有答案了 这是我第一次遇到不允许我访问网页的网站 我不知道为什么 也不知道如何从这个网站上抓取 我的尝试 import requests from bs4 import BeautifulSoup def html url
  • nasm 系统调用 Linux

    我有一个关于汇编中的 linux x86 系统调用的问题 当我在 Linux 上使用 nasm 创建新的汇编程序时 我想知道必须使用哪些系统调用来执行特定任务 例如读取文件 写入输出或简单的退出 我知道一些系统调用 因为我读过它们在互联网上
  • 如何使用 PuTTY/Plink 在 Windows 批处理文件中的设备上顺序执行多个命令?

    我正在尝试使用 SSH 以自动化方式配置设备 bat脚本 在下面的代码片段中 我以正确的顺序生成一个包含所需命令的文件 然后使用 SSH 连接执行 读取该文件plink 这会导致一条错误消息 命令未知 我认为这是由于命令不是逐一执行而是插入
  • 如何按键对对象数组进行分组?

    如何通过对象键对对象数组进行分组 以根据分组创建新的对象数组 例如 我有一系列汽车对象 const array red height 50 green height 20 blue height 30 blue height 40 red
  • 以值为条件对列运行求和

    我有一个二进制变量向量 用于说明该产品是否在该期间促销 我正在尝试弄清楚如何计算每次促销的持续时间以及促销之间的持续时间 promo flag c 1 1 0 1 0 0 1 1 1 0 1 1 0 换句话说 如果promo flag与上一
  • npm test --codecoverage 不生成报告

    不知道为什么当我击中时 npm test codecoverage 所有测试都正在执行 但是我看到一个空的 coverage 文件夹 没有任何报告 我用角度 cli 我做错了什么 如果您全局安装了 CLI 则命令为 ng test code
  • 无法通过下载 URL 检索文件内容

    大约一个小时以来 我无法通过下载 URL 属性检索文件内容 每次我尝试获取它时 API 都会回答 401 未经授权的错误 这是使用的代码 https gist github com arnaudbreton 5409015凭证存储在 GAE
  • 表单提交结果后使用 php 代码打开新窗口

    这是我一直在编写的脚本 它应该集成用户并在打开时通过 我这样做对吗 我想在用户将表单提交到 php 代码后打开一个弹出窗口 但我总是收到错误 将您的代码更改为此
  • 尝试快速保存捕获的图像时出错

    在我的项目中 我正在捕捉图像 但是当它开始保存图像时 应用程序崩溃并出现以下错误 打开包装时意外发现零 我的代码如下 Library Assets var assetCollection PHAssetCollection var phot
  • NAnt 或 MSBuild,该选择哪一个以及何时选择?

    我知道还有其他NAnt and MSBuildStack Overflow 上的相关问题 但我找不到两者之间的直接比较 所以这里是问题 什么时候应该选择 NAnt 而不是 MSBuild 哪一个更适合做什么 NAnt 更适合家庭 开源项目
  • 使用非托管 C++ 访问 X509 证书存储

    有谁知道我将如何使用以下 C 代码进行等效操作不受管理的C 即通过指纹从 X509 证书存储查询证书 var store new X509Store StoreName My StoreLocation LocalMachine store
  • 如何在javafx栏顶部显示栏值

    from this code i can generate bar chart of 10 bars now i want to know how to display value of each bar on top of bar lik
  • GNU diff3(三向合并)给出了意想不到的结果

    假设文件 MINE 和 YOURS 是 OLD 的后代 文件 我的 abc def ghi 文件 旧 abc jkl ghi 文件 你的 abc def ghi Command diff3 m MIND OLD YOURS gives ab