Cloning Cloud9

In case you want to develop your own Cloud9 features, separate from the main track, you have the option to clone the git repositories. In order to keep the depot_tools mechanisms functional, you need to configure the new locations of the repositories. There are multiple ways to achieve this.

Method One: Update the DEPS file
  1. Clone the main src.git repository, together with the other repositories that you want to branch. We assume the src.git clone is called src-new.git.
  2. On your local machine, "git clone" src-new.git, and edit the DEPS file at the root of the repository to point instead to your newly cloned repositories. Don't forget to commit back and push your changes.
  3. Create somewhere else the $CLOUD9_ROOT directory, and then follow the standard installation procedure.
Method Two (Recommended): Override the gclient configuration file
  1. Clone all the repositories that you want to branch. Note that you don't have to clone the root src.git repository, if you don't plan to work on that, too.
  2. After creating the $CLOUD9_ROOT directory, run gclient config as normal:
    gclient config ssh://git@dslabgit.epfl.ch/cloud9-depot/src.git
    In case you cloned src.git, as well, replace the URL above with yours. Mind the ssh:// format, mandated by depot_tools.
  3. Edit the generated .gclient file, and add entries to the "custom_deps" key in the Cloud9 solution, in which you override the values in Cloud9's DEPS file. For instance, if you want to use a separate cloud9.git repository, your .gclient file would look like:
solutions = [
  { "name"        : "src",
    "url"         : "ssh://git@dslabgit.epfl.ch/cloud9-depot/src.git",
    "deps_file"   : "DEPS",
    "managed"     : True,
    "custom_deps" : {
      "src/cloud9":
        "ssh://git@dslabgit.epfl.ch/my-awesome-project/new-cloud9.git",
    },
    "safesync_url": "",
  },
]

At the end, run gclient sync and follow the rest of the installation as usual.

You can find here more information about the format of the depot_tools configuration files (.gclient and DEPS).

Comments