11.2. GitHub, Git, and related topics
11.2.1. GitHub
PRRTE’s Git repositories are hosted at GitHub.
- First, you will need a Git client. We recommend getting the latest version available. If you do not have the command - gitin your path, you will likely need to download and install Git.
- prrte is the main PRRTE repository where most active development is done. Git clone this repository. Note that the use of the - --recursiveCLI option is necessary because PRRTE uses Git submodules:- shell$ git clone --recursive https://github.com/openpmix/prrte.git 
Note that Git is natively capable of using many forms of web proxies. If your network setup requires the user of a web proxy, consult the Git documentation for more details.
11.2.2. Git commits: open source / contributor’s declaration
In order to remain open source, all new commits to the PRRTE
repository must include a Signed-off-by: line, indicating the
submitter’s agreement to the PRRTE Contributor’s Declaration.
Tip
You can use the -s option to git commit to
automatically add the Signed-off-by: line to your commit
message.
11.2.3. Git branch scheme
Generally, PRRTE has two types of branches in its Git repository:
- main:- All active development occurs on the - mainbranch (new features, bug fixes, etc.).
 
- Release branches of the form - vMAJOR.MINOR.x(e.g.,- v4.0.x,- v4.1.x,- v5.0.x).- The - .xsuffix indicates that this branch is used to create all releases in the PRRTE vMAJOR.MINOR series.
- Periodically, the PRRTE community will make a new release branch, typically from - main.
- A Git tag of the form - vMAJOR.MINOR.RELEASEis used to indicate the specific commit on a release branch from where official PRRTE release tarball was created (e.g.,- v4.1.0,- v4.1.1,- v4.1.2, etc.).