How to Contribute to RGP

Suggestions and contributions are very welcome, feel free to contact Oliver Flasch on this matter.

RGP Repository Access

The RGP source code is stored in a Git repository.

Anonymous Read-Only Access

To clone the RGP repository, use:

git clone git://rsymbolic.org/rgp

Use git pull to download remote changes.

Sending Patches

The easiest way of contributing to RGP is by sending patches to the maintainers. To generate a patch, use the following procedure:

  1. If not done already, clone the RGP repository using:
    git clone git://rsymbolic.org/rgp
  2. Create a new feature branch mybranch using:
    git checkout -b mybranch
  3. Make your changes, then commit your changes using:
    git commit -a
  4. Create a formated patch file using:
    git format-patch -1 -s
    The option -1 creates a patch file containing the last commit. Please add a useful commit message.
  5. Send the created patch file to the maintainer by email.

Write Access

If you have been granted direct write access to the RGP repository, clone the RGP repository with:

git clone git@rsymbolic.org:rgp

As usual, use git pull to download remote changes and git push to upload changes you checked in locally via git commit -a.

Repository Branch Structure

The RGP repository contains a branch for every release that was submitted to CRAN. Main development is done on the master branch. To list all remote branches, use:

git branch -a

In order to check out a release branch, you need to track it locally first (substitute MAJOR, MINOR, and PATCHLEVEL with appropriate values):

git checkout -tb release_MAJOR.MINOR-PATCHLEVEL origin/release_MAJOR.MINOR-PATCHLEVEL

After that, you can simply switch between branches with git checkout. To change back to the master branch, for example, use:

git checkout master

Building RGP under Linux and Windows

RGP uses GNU make (see http://en.wikipedia.org/wiki/Make_(software)) to simplify package building. You will also need a working C compiler (e.g. GCC) to build the parts of RGP written in C. The the following pages for details:

RGP Coding Tips

Visit RGP Coding Tips for tips on design and debugging of the R and C code making up RGP. This page also has a section on RGP's typographic source code style (important) and RGP's technical design philosophy (much more important).

(back to the RGP Tutorials)