Emulab Git Repository
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
Tracking Commits to the Emulab Repositories
If you would like to track the daily Git commits, there are two possibilities:
- Visit the online Changelog an a regular basis.
- Join the Stable Commits mailing list, and/or the Devel Commits mailing list. Each commit log entry is sent to these lists, which sounds like a lot of traffic, but is not that bad, really.
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 GitLab; our GitLab site has open registration, so just click on the "Sign In" button and make a new account.
Here in Utah we have put together a typical workflow that describes how Flux project members are expected to operate.