原来的:
"<tasks>"
+ " <exec command="ls">"
+ " <runif status="failed" />"
+ " </exec>"
+ " <exec command="ls">"
+ " <runif status="failed" />"
+ " </exec>"
+ "</tasks>";
修改_1:
"<tasks>"
+ " <exec command="ls">"
+ " <runif status="failed" />"
+ " </exec>"
+ "</tasks>";
修改_2:
"<tasks>"
+ " <exec command="ls">"
+ " <runif status="passed" />"
+ " </exec>"
+ " <exec command="ls">"
+ " <runif status="failed" />"
+ " </exec>"
+ "</tasks>";
结果:
"<tasks>"
+ " <exec command="ls">"
+ " <runif status="passed" />"
+ " </exec>"
+ "</tasks>";
预期结果:
"<tasks>"
+ " <exec command="ls">"
+ " <runif status="failed" />"
+ " </exec>"
+ "</tasks>";
文件中的原始内容是ORIGINAL。
此时有人剪了一个分支并将ORIGINAL编辑为MODIFICATION_2。(将第一个<exec>
节点从更改failed
为passed
)
在master
有人将ORIGINAL更改为MODIFICATION_1时。(删除第一个<exec>
节点)
将分支合并到 master 时,更改就像RESULT(分支中的更改应用于第二个<exec>
节点而不是第一个被删除的节点!)而不是产生EXPECTED_RESULT或导致合并冲突!
这是预期的行为吗?有人可以解释为什么吗?