How to Contribute Code

CONNECT uses GitHub as its source code repository. A great benefit of GitHub is that it fully supports community members' ability to fork the CONNECT code base for their own uses, and to easily contribute code back into the source. This document discusses how to use GitHub to contribute code to CONNECT.

We are using a Fork + Pull Model for code contributions from the community. Anyone is allowed to pull from the CONNECT repository. But in order to contribute you must create a fork of the CONNECT code and push your changes there before initiating a pull request. This we believe is the lowest entry level of accepting contributions. This page will take you through the steps to setup a forked repository inorder to contribute code. This guide assumes you already have a github account (sign up) and have setup git (See this page for instructions on setting up Git and GitHub for Linux, Mac, and Windows: https://help.github.com/articles/set-up-git#platform-all ).

Initializing your git repository

CONNECT projects contains 3 repositories: Common-Type, CONNECT-Webservices and CONNECT. For more information about each repository, please checkout this Downloading CONNECT Binaries and Source Code.  Below is an example steps for CONNECT repository and should be similar for each repository.

clone CONNNECT-Solution/CONNECT

$ git clone git@github.com:CONNECT-Solution/CONNECT.git

fork CONNECT-Solution/CONNECT

To fork CONNECT-solution/CONNECT project you choose the fork button.

And then confirm that you really want to do this.

You will end up with a fork of CONNECT-solution/CONNECT project project. In the yellow box is the git-url for the fork you just created.

In this example it is: git@github.com:bhumphrey/CONNECT.git.

add remote to fork

Next you need to add this fork as a new remote.

In this example I am adding a remote named bhumphrey pointing to the git url of the forked CONNECT-Solution/CONNECT project. Both the git-url and the name of the remote will be different in your usage.

$ git remote add bhumphrey git@github.com:bhumphrey/CONNECT.git

Modify by creating new branch

$ git checkout -b newTopic
$ (work)
$ git commit

contribute

So you have your changes complete. Time to contribute. Push your changes from your branch to your fork, in this example the branch is named newTopic and remote for the fork is bhumphrey.

$ git push bhumphrey newTopic

Now you create a pull-request. (see github's help guide for a detailed explanation on this process. Send Pull Request). Please be detailed in the comments section. If you are contributing a fix to specific JIRA issues please list it here. We will use the discussion feature of github to review and communicate regarding the contributed code.