Skip to content

Provide a code contribution

jmertic edited this page Oct 6, 2011 · 9 revisions

Once you have set up your development environment, you are now ready to contribute code back to us thru Github. Here's how to do it.

Doing sometime simple? Instead, you can do your pull request right on GitHub

Create a new Bug for your request

Create a bug in the SugarCRM Bug Tracker detailing the issue or feature you would like to address. Each code request coming to us must have an associated bug so we can track it properly for our QA team.

Create a new branch on your fork to contain the changes

The best practice for working with git is to make a new branch when beginning to work on new code. We recommend that you create this branch off of the master branch unless the fix is only to apply to a specific release branch. To do this, change to the directory of your checkout and issue the following commands to create a new branch named branchname.

$ git checkout master
$ git fetch upstream
$ git merge upstream/master
$ git push origin master
$ git checkout -b branchname

You will now be in your new branch with the latest code from SugarCRM's master branch.

Write the fix

Write the code, including any applicable unit or functional tests. See our Coding Standards, as well as information on writing PHPUnit tests and SODA tests.

Don't forget to add new files You create (Unit tests, for instance):

$ git add filename

Once you have completed the bug, be sure to commit your changes to the branch, and then push that branch up to Github as shown below ( substituting the name of your branch for branchname below )

$ git commit -am 'message'
$ git push origin branchname

File a pull request

Do a pull request to send the code for us to review. We will handle the pull request as soon as possible, providing feedback on whether the fix will be accepted or if we need additional things done to be able to pull in the code to Sugar.