On Fri, Aug 13, 2010 at 10:36 AM, Junio C Hamano <gitster@xxxxxxxxx> wrote: > > Another potential "funny" is this (unrelated to the reported issue). > > The "--follow" logic is called from diff_tree_sha1() function, but the > input trees to diff_tree_sha1() are not necessarily the top-level trees > (compare_tree_entry() calls it while it recursively descends into > subtrees). For example, with the example Constantine gave us, the first > "try-to-follow-renames" call happens with the "base" set to "platform/" > but the rename source is actually "lang-api/src/com/intellij/..." > hierarchy, so it is a wasted call. I think we only want to run the rename > following at the very top level, i.e. like the attached patch. > > Linus, what do you think? Am I missing something obvious? I think you're right. You're certainly not missing anythng _obvious_. Iirc the only reason I put that 'follow' hack in diff_tree_sha1() was because that way I didn't need to worry about all the callers, but I didn't even think about the whole recursion issue. So ack on that. Linus -- 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