There are a few mechanisms already to improve perf in big repositories but they all need a change in usage flow. I had this idea for a while now and I'd appreciate your feedback on it. The "connected mode" essentially means to run all git commands on the server and only download relevant stuff locally. To demonstrate the usage flow: git clone --connected <url> # new repo git config fetch.connected true # existing repo >From there, git is to decide whether or not a command should be sent to the server. For instance, if all required refs are present locally, it's run on the machine, otherwise it's sent to the server, collecting the result and possibly a minimum set of new objects. From the user's perspective, all commands are run on the latest revision without an explicit (possibly extensive) fetch. This would make a --connected clone implicitly shallow, but new data can be downloaded on demand. User flow is not changed in any other ways. Thanks,