Junio C Hamano wrote:
"Bahadir Balban" <bahadir.balban@xxxxxxxxx> writes: There is one thing we could further optimize, though. Switching branches with 100k blobs in a commit even when there are a handful paths different between the branches would still need to populate the index by reading two trees and collapsing them into a single stage. In theory, we should be able to do a lot better if two-tree case of read-tree took advanrage of cache-tree information. If ce_match_stat() says Ok for all paths in a subdirectory and the cached tree object name for that subdirectory in the index match what we are reading from the new tree, we should be able to skip reading that subdirectory (and its subdirectories) from the new tree object at all. Anybody interested to give it a try?
I'm not vell-versed enough in git internals to have my hopes high of making something useful of it, but if you give me a pointer of where to start I'd be happy to try, and perhaps learn something in the process.
-- Andreas Ericsson andreas.ericsson@xxxxxx OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 - 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