The Chromium codebase consists of hundreds of thousands of files, which means that a checkout straight from the Subversion (SVN) repository can take a long time. To speed up the process, we have provided a tarball that you can use to bootstrap the download. Alternatively, you can skip the tarball and download straight from SVN (not recommended).
Note: There is no advantage to checking out straight from SVN. The tarball includes SVN directories so that after you unpack the tarball, you can get up to the latest revision by using gclient sync.
If you only want to look at the source code on your own machine, you'll need at least 1.6 GB of hard drive space available. (Somewhat less for Linux, since it already has some of the dependencies installed.) If you want to build it, you will need just under 10 GB of space, including all the object files and executables. Bootstrap using the tarball
This should give you a complete source tree. But if you have any problems, first check that you've installed any prerequisites listed on the build instructions for your platform.
Check out directly from SVNYou'll use the gclient depot tool to download the Chromium code from its SVN repository. The first time you execute gclient, there will be a delay (a minute or so) while it updates the depot tools. Downloading the Chromium code takes about an hour.
The gclient config step only needs to be run once to set up your working directory. It creates a .gclient file in your working directory that identifies the corresponding structure to pull from the repository. The gclient sync step creates several subdirectories. To update your tree in the future, you only need to run gclient sync from anywhere within your working directory. NOTE: These instructions will pull a read-only tree. If you are a committer, and plan to make changes to source code, use the instructions given to you when you received commit access.
WindowsNote: It's not necessary to have Subversion or Python installed already: the first run of gclient will install them for you. On the other hand, if you do already have Subversion installed through Cygwin, you'll need to set up your PATH to have the depot_tools svn ahead of the cygwin svn, and use only the depot_tools svn, not Cygwin's, to check out Chromium.
Mac OS X
Linux
Staying Green most of the timeWhen running gclient config, you can specify a second URL to be referenced when doing updates. Instead of pulling the most recent revision, the version number at this URL will be queried, allowing you to track the "most recent green" revision so you can spend less time debugging other people's issues or running builds only to find out that the waterfall was red. Chromium has two of these URLs:Continuous build
LKGR
SetupTo use one of these URLs, pass it when you run gclient config:$ cd ~/chromium $ gclient config http://src.chromium.org/svn/trunk/src http://chromium-status.appspot.com/lkgr Now whenever you call gclient sync, it will only sync as far as the configured URL specifies. To over-ride this, pass the --head parameter to gclient, e.g.: gclient sync --head You can also add this directly to your .gclient file if you already have one: solutions = [ Reducing the size of your checkoutYou can edit your .gclient file to avoid pulling down certain pieces of the checkout that you may not want. For example, inserting something like "custom_deps" : {
into one of the solutions (i.e. just underneath the "url": ... line) should save a lot of space. The list of repos that gclient pulls is stored in src/DEPS.Update to the latest revisionWhether you started with a source tarball or an svn checkout, at some point you'll want to update your checkout to the latest revision.The first time you execute gclient, there will be a delay (a minute or so) while it updates the depot tools. How long the Chromium code update takes depends on how much has changed since you last updated (or since the bootstrap tarball was created).
gclient sync --revision src@####
and the DEPS file will make sure you get the other directories in their matching forms. |