stoller created page: Git Repository authored by Leigh Stoller's avatar Leigh Stoller
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.