On Sat, 23 Apr 2005, Petr Baudis wrote: > > Just FYI, this is bug in core git's diff-cache;
Nice find. Yes, I told you guys I hadn't tested it well ;) "diff-cache" does the same "diff trees in lockstep" thing that "diff-tree" does, but it's actually more complex, since the _tree_ part always needs to be recursively followed, while the _cache_ part is this linear list that is already expanded. Which just made the whole algorithm very messy. Once I found out how nasty it was to do that compare, I was actually planning to re-write the thing using the same approach that "read-tree -m <tree>" does - ie move the tree information _into_ the in-memory cache, at which point it should be absolutely trivial to compare the two. But since the horrid algorithm seemed to end up working, I never did. I'm not even going to debug this bug. I'm just going to rewrite diff-cache to do what I should have done originally, ie use the power of the in-memory cache. That's also automatically going to properly warn about unmerged files. Give me five minutes ;) Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html