Creating Local Mirrors

Background

While git works great for keeping things up-to-date and for speeding up network transfers (when you need to pull in new commits), the sheer size of the ChromiumOS repository is still a hurdle for many groups. Your company might not have the greatest connection to the machine where the repositories are hosted, or perhaps even your region or country have bottlenecks our of your control. In these cases, you probably don't want all of the engineers in your company doing the same multi-gigabyte repository mirroring on their various machines as this can prohibitively slow to development. Especially if something goes wrong and they want to create a fresh checkout!

Have no fear though, it is easy to create your own local mirror of the Chromium OS repository, keep it up-to-date, and have all local people pull from that. And for those people who want to contribute back, it's easy to do that too!

Overview

You will need one machine that has a public network connection (for fetching updates from the Chromium OS repository), as well as running a git service (so your local people can then mirror from your system). While a dedicated machine is obviously recommended (as the machine will be seeing a lot of network and disk traffic), an existing system will suffice.

You will not need root as all of the operations can be run as a normal user.

Helper Script

Rather than having to maintain the mirror manually, we've written a script that should automate things for you. To fetch it: