如果current = base = other,为什么'git-merge-file current base other'会创建一个空的'current'文件?

时间:2009-05-24 15:12:48

标签: git merge

嗯,想象一下 current.txt文件:

asdf

base.txt文件:

asdf

other.txt文件:

asdf

当我与

进行三向合并时
git merge-file current.txt base.txt other.txt

current.txt文件变空了,为什么? 在其他情况下,current.txt文件成为3个文件的合并

2 个答案:

答案 0 :(得分:3)

这可能是git merge-file中的一个错误,但不是每个都会在实践中被触发的错误。

git merge-file不是针对最终用户使用的命令,而是由git在内部用作合并或rebase活动的一部分。它只会在实际已更改的文件上调用,因此将三个文件传递给git merge-file,所有文件都具有相同的内容,这在实践中不会发生。

编辑:我已经提出了修补此问题的补丁,但需要专家审核:gmane link

编辑:此错误将在v1.6.3.2及更高版本的git中修复。

答案 1 :(得分:0)

听起来像git-merge-file中的一个错误,对我而言。你应该在git邮件列表上提出这个问题。我想你可能会在那里得到更好的答案。监视该列表的人非常敏锐,并且知道这是否是预期的行为。