Nothing that elaborate.
I was envisioning that we would compare object names of the .gitattributes
files in directories that lead to the path being merged in three trees,
and we use the new slowpath unless all three match. You could look _into_
the actual contents of .gitattributes and decide that a particular change
does not affect the path you are merging, but I don't think it is worth
it; sane people are expected not to flip CRLF/LF around many times a day
anyway, so changes to .gitattributes should already be rare events.
We will be walking the trees in parallel while merging anyway, so when you
have to merge a/b/c.txt, we would already have opened the top-level tree,
tree "a", and tree "a/b" already, and we should be able pick up the object
name of .gitattributes, a/.gitattributes and b/.gitattributes cheaply
without opening any extra object.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html