On Wed, Apr 11, 2018 at 12:19 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > It appears that a topic recently graduated to 'master' introduces a > severe regression to "git merge" when it merges a side branch that > renames paths while the trunk has further updates. > > The symptom can easily be seen by trying to recreate the merge I > made at the tip of 'pu' 29dea678 ("Merge branch > 'sb/filenames-with-dashes' into pu", 2018-04-11) that I'll be. > pushing out shortly. The side branch renames a file exec_cmd.h to > exec-cmd.h (an underscore changed to a dash) without changing any > contents, while the branch being merged to has made some changes to > the contents while keeping the original pathname. > > A clean automerged result should leave the identical contents from > HEAD:exec_cmd.h in :exec-cmd.h in the index, which is what happens > when using Git v2.17.0 proper, but with today's master', there are > content changes that cannot be explained--the merge is simply broken > and worse yet, the command pretends that everything went well and > merged cleanly in that path. Overly clever tool that behaves in a > buggy and unexplainable way is bad enough, doing so silently is > unexcusable. I agree, that is _really_ bad. My sincerest apologies. I'll dig into it.