List, Michael, Please see https://github.com/rsahlberg/git/tree/backend-struct-db-2 for an example of a pluggable backend for refs storage. This series contain changes to make it possible to add new backends for handling/storage of refs and implements one new backend : refs-be-be.c . This new backend offloads the actual refs handling to a small database daemon with which ita talks via a very simple rpc protocol. That daemon in turn then connects to the datastore and read/writes the values to it. By having an always running database daemon it will allow faster startup of the git commands since they will now only need to connect to a domain socket instead of having to traverse a potentially very large number of files during the "build ref cache" phase. Another nice feature is that it can allow running one single database daemon and use it to host the refs for multiple independent git repositoris (by using the new repository name config to distinguish between them). It can not yet apply to origin/* since it is based on some small series that have yet not arrived there and is still a wip. But if you want to test/look at what we could be doing one day, please feel free to clone this repo. FAQ: Q: This sound cool. How do I test this? A: 1, Clone https://github.com/rsahlberg/git/tree/backend-struct-db-2 and build git. 2, gcc refsd-tdb.c -o refsd-tdb -l tdb 3, ./refsd-tdb /tmp/refsd.socket /tmp /tmp/refsd.log 4, git clone --db-repo-name=ROCKet --db-socket=/tmp/refsd.socket <some-repo> foo ./foo should now contain a git repository that store its refs in a separate database. (teh databases are store under /tmp so don't use this for anything important because bad things happens to things stored under /tmp) regards ronnie sahlberg -- 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