There are two Emulab repositories available.
- A stable repository, called emulab-stable, which contains code after it has been vetted (eg. after it has run for a while on the Utah Emulab site). We recommend that most people use this repository.
- A development repository, called emulab-devel, which contains the latest "bleeding edge" changes to the code base. This code may not necessarily be tested well, or at all.
We have also created a repository for "contributed code" which will contain code contributed by other developers.
All of our public repositories can be browsed at https://gitlab.flux.utah.edu/emulab.
Anonymous Read-Only Access to Emulab Git
We provide anonymous read-only access to the Emulab Git repository via HTTPs. The emulab-stable repository may be cloned using the following git command:
git clone https://gitlab.flux.utah.edu/emulab/emulab-stable
The emulab-devel repository may be cloned as follows:
git clone https://gitlab.flux.utah.edu/emulab/emulab-devel
Once you have a Git checkout, following the instructions for upgrading your site.
Updating From Old Repository Locations
If you have a git clone from one of our old repositories on git-public.flux.utah.edu, you can apply the appropriate command below to point it to the newer GitLab location:
For emulab-stable repositories:
git remote set-url origin https://gitlab.flux.utah.edu/emulab/emulab-stable
For emulab-devel repositories:
git remote set-url origin https://gitlab.flux.utah.edu/emulab/emulab-devel
Contributing to the Emulab code
The GitLab site that we use to host Emulab operates much like GitHub and other git hosting services, so to contribute to Emulab development you can:
- Watch or submit issues on the emulab-devel repository.
- Fork the emulab-devel repository, push up changes, and submit a Merge Request.
To do either of these, you will need an account on https://gitlab.flux.utah.edu; our GitLab site has open registration, so just click on the "Sign In" button and make a new account.