Thread (11 messages) flat view 11 messages, 5 authors, 2016-06-15

limiting rename detection during merge is a really bad idea

From: Steffen Prohaska <hidden>
Date: 2016-06-15 22:44:12

I almost lost faith in git's merging capabilities because merge-
recursive limits rename detection to the default limit if not
configured otherwise.  I tried to do a large merge and was pretty
convinced that git would handle the merge easily.  But it
unexpectedly failed to detect the renames.  The reason is that
merge-recursive uses the diff_rename_limit_default, which is 100,
and this was too low in my case.

After debugging all the merge and diff machinery I found out that
I just need to set diff.renamelimit=0 and everything works smoothly.

Well, it was an interesting debugging experience and I learnt a
lot about the diffcore.  Nonetheless this was one of the worst
experiences I had with git and it kept me from doing more important
work.

I think that limiting rename detection during merge is a really
bad idea.  Either we should set it to unlimited, or at least we
should print a BIG WARNING that rename detection is limited
during the merge.  I'd propose to override diff.renamelimit
to unlimited for a merge, even if diff.renamelimit is explicitly
configured by the user.  It doesn't make sense not to detect
renames during a merge.

Opinions?

	Steffen
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help