在散装手册中
diff3,我的,我的,你的,你可以记住这些参数的顺序,因为它们是按字母顺序排列的。你可以认为这是把你的年龄从你的身上减去,然后把结果加到我的,或者把变老的变化合并到我的身上。这种合并是很好的定义,只要我的和老的匹配,在邻里的每这样的变化。如果所有三个输入文件都不同,或者只有较旧的输入文件不同,则这是不正确的;我们将此称为冲突。当三个输入文件完全不同时,我们将冲突称为重叠。..。‘-e’、‘-3’和‘-x’选项只选择未合并的更改,即在我的更改和您的更改不同的地方;它们忽略了从旧更改到您的更改(在我的更改和您的更改相同的地方),因为它们假设这些更改已经合并。
“我和更老的人在每一种变化的邻里匹配”意味着什么?
“什么时候只有年龄不同”是否意味着我和你的是相同的,但与老的不同?合并不是很简单吗,因为我们可以直接使用我的或者你的?为什么在这种情况下合并没有得到很好的定义呢?
这三个案件如何涵盖所有可能的案件:
“从老到你,在我和你的变化完全相同的情况下”是否与“只有年龄不同”的变化相同?
谢谢。
发布于 2018-11-09 17:17:43
“我和更老的人在每一种变化的邻里匹配”意味着什么?
“我的和老的匹配在每一个这样的变化的邻里”意味着当考虑到“老”和“你的”之间的每一个变化时,变化的背景也可以在“我的”中找到。换句话说,这意味着“我的”和“老的”对于“老”和“你的”之间的每个个体的变化都是相同的。考虑一下
mine other yours
------------------------------------------------
Some text Some text Some text
Some more text Some more test Changed text
Continues Continues Continues
Mine changes This is gone This is gone
The file ends The file ends The file ends一句在“其他”和“我的”之间变了,另一句在“其他”和“你的”之间变了。当我们观察从“他人”到“你的”的变化时,我们发现“我的”中也有相同的语境,所以这种变化可以适用于“我的”,而不是含糊不清或冲突。
“什么时候只有年龄不同”是否意味着我和你的是相同的,但与老的不同?
是。
合并不是很简单吗,因为我们可以直接使用我的或者你的?为什么在这种情况下合并没有得到很好的定义呢?
“明确界定”的定义是,从“旧”到“你的”的变化在“我的”中是相同的。当“我的”和“你的”是相同的,并且区别于“老”的时候,那么从定义上来说,这种变化并没有得到很好的定义。
这似乎令人惊讶,但三方合并的指导原则是,任何冲突,即使导致相同的内容,都必须由用户识别和检查。我手头没有一个例子,但在“我的”和“您的”中,一个给定的行是相同的,但是考虑到正在合并的其他更改,这是不可取的,因为--在合并结果中。
考虑这一点的另一种方式是,三方合并的目的是调和两段不同的历史:从“老”到“我的”的历史和从“老”到“你的”的历史。即使这两个历史导致相同的内容,他们需要重新评估,而不是盲目应用。
diff3的开发人员确实意识到,这样的更改无论如何都应该应用;-e、-3和-x选项就是这样做的。
这三宗个案如何涵盖所有可能的个案?
第一个案例描述了一个全局分析,但我认为其他两个应该在一个变化的背景下理解。如果我们考虑每一个变化(从“老”到“您的”)查看的所有三个案例,它们就会变得不同(请记住“老”和“您的”是不同的):
考虑一下真值表:
mine == older mine == yours older == yours Case
--------------------------------------------------------
Yes Yes Yes N/A
Yes Yes No Imp.
Yes No Yes N/A
Yes No No 1
No Yes Yes N/A
No Yes No 3
No No Yes N/A
No No No 2N/A意味着没有考虑到这种情况:从“老年人”到“你的”并没有变化。小鬼。意味着这种情况是不可能的(通过平等的传递性)。这表明,三个案例足以涵盖所有可能性。
“从老到你,在我和你的变化完全相同的情况下”是否与“只有年龄不同”的变化相同?
是。
发布于 2018-11-09 17:19:18
它在每个mine中都有很好的定义,yours是一个与older不同的变化,因此它们删除文本;将文本添加到不同的位置;或者它们更改文本,但不同时更改相同的文本。
也就是说,如果我们都以不同的方式改变相同的事物,或者如果我们在同一个地方添加一些东西,那么它就不知道按什么顺序放置它们,计算机就不知道需要什么。
https://unix.stackexchange.com/questions/480800
复制相似问题