|
|
The official source for Emulab is kept in a set of Git repositories. For
|
|
|
general information about Git, see
|
|
|
[http://git-scm.com](http://git-scm.com) or [http://progit.org](http://progit.org).
|
|
|
|
|
|
### Available Repositories
|
|
|
|
|
|
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"](https://wiki.emulab.net/wiki/ContribRepository?searchterm=contrib)
|
|
|
which will contain code contributed by other developers.
|
|
|
|
|
|
All of our public repositories can be browsed at
|
|
|
[https://gitlab.flux.utah.edu/emulab](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
|
|
|
<tt>git</tt> 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](https://gitlab.flux.utah.edu/emulab/emulab-devel/wikis/install/Updating%20Emulab%20Software)
|
|
|
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](https://gitlab.flux.utah.edu) 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](https://gitlab.flux.utah.edu/emulab/emulab-devel/issues).
|
|
|
* Fork the [emulab-devel repository](https://gitlab.flux.utah.edu/emulab/emulab-devel),
|
|
|
push up changes, and submit a Merge Request.
|
|
|
|
|
|
To do either of these, you will need an account on
|
|
|
[GitLab](https://gitlab.flux.utah.edu); our GitLab site has open
|
|
|
registration, so just click on the "Sign In" button and make a new account.
|
|
|
|