Skip to content

Contributing to the Codebase

stefanpenner edited this page Sep 13, 2010 · 25 revisions

1. Installing the require software

1.1 Git

Git is a free & open source, distributed version control system designed to handle everything from small to very large projects with speed and efficiency. The distributed nature of git allows for optimal collaboration, and as such is the SCM of choice for the jquery.tools project.

Download & Resources
Book

2. Getting the code

git clone git://github.com/jquerytools/jquerytools.git

3. pick a branch.

we may have more then 1 active branch. aka 1.2 , and 1.1.2
git branch --track 1-1-2-stable origin/1-1-2-stable
git checkout 1-1-2-stable

4. Running the jquery.tools test suite

depends on the final test framework, but loading the tests in a browser will work. Coverage should include all A grade browsers.(this might be annoying for people to do, but very important).

5. Forking jquery.tools
git clone git://github.com/jquerytools/jquerytools.git
cd jquerytools
git checkout -b my_new_branch_full_of_awesome

6. Code Writing

6.1 Testing

All code changes, fixes, refactorings, and additions require adequate test coverage. This is to ensure the stability of the code base, and that future contributions do not break current features.

Read about our testin requirements.

6.2 New Feature

7. Re-integration

7.1 Updating your copy of jquerytools

Update your copy of jQuery.tools. It is likely that other changes to jQuery.tools have happened while you were working. Go get them:

git checkout master
git pull

now apply your patch on top of the latest changes

git checkout my_new_branch_full_of_awesome
git rebase master

No conflicts? Tests still pass? Change still seems reasonable to you? Then move on.

Further information on the git rebase located at http://book.git-scm.com/4_rebasing.html

5.5 Submitting the code