On Fri, Aug 13, 2010 at 11:25, Constantine Plotnikov <constantine.plotnikov@xxxxxxxxx> wrote: > Somewhere between the git 1.7.0.2 and the git 1.7.2.0 the rename > detection started to fail with fatal error on some files in our > repository. The bug could be seen on the public IntelliJ IDEA > repository (about 760M in size), but our users have reported it as > well. >From a bisect: 1da6175d438a9849db07a68326ee05f291510074 is the first bad commit commit 1da6175d438a9849db07a68326ee05f291510074 Author: Bo Yang <struggleyb.nku@xxxxxxxxx> Date: Thu May 6 21:52:28 2010 -0700 Make diffcore_std only can run once before a diff_flush When file renames/copies detection is turned on, the second diffcore_std will degrade a 'C' pair to a 'R' pair. And this may happen when we run 'git log --follow' with hard copies finding. That is, the try_to_follow_renames() will run diffcore_std to find the copies, and then 'git log' will issue another diffcore_std, which will reduce 'src->rename_used' and recognize this copy as a rename. This is not what we want. So, I think we really don't need to run diffcore_std more than one time. Signed-off-by: Bo Yang <struggleyb.nku@xxxxxxxxx> Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx> Bisect script: #!/bin/sh cd ~/g/git make clean make -j 10 CC=clang CFLAGS=-O0 ./git --git-dir=/tmp/idea/.git log -M --follow --name-only -- platform/lang-api/src/com/intellij/lang/documentation/CompositeDocumentationProvider.java > /dev/null ret=$? test $ret -gt 127 && ret=127 exit $ret -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html