Skip to content

Development Process

dalers edited this page Aug 24, 2012 · 15 revisions

The Adapto Project uses a typical distributed development process.

First, join the Sourceforge developers maillist list, Second, get a free SourceForge user id if you don't already have one, and send an email to the mailing list asking to to be a Sourceforge developer. In the email to the mailing list, incude a short introduction of yourself and your SourceForge user id. You'll get email confirmation of your developer status within a day or two, or more contact (if not, please follow up with another email).

To contribute code to Adapto, get a Github account if you don't already have one, and fork the main project egeniq/adapto to your own account. If you're actively working on something, please send a note to the mailing list so everyone can see where you fit into their plans (if it does), and you can benefit from the experience of the team (assuming there is any). Keeping some loosely coupled sense of community is better than none.

Development Steps

1. Login to GitHub and fork the master Adapto project to your own GitHub account.

To fork the master Adapto project, access the egeniq/adapto project, and click the Fork button at the top of the page (just below your login name). Forking is similar to cloning, except forks can use GitHub's unique Pull-Request feature to submit changes back to the core project team.
2. Clone your Adapto fork to your development system.
How you do this will depend on the protocol you want to use and on your development environment. The git protocol uses ssh keys instead of passwords, but uses a non-standard port and is generally blocked by corporate firewalls. The https protocol generally works behind corporate firewalls (unfortunately not mine though), but requires typing your GitHub login name and password each time you commit (although they can be temporarily cached). Which protocol you use is determined by the format of the source URL in the clone command.
On Windows, I use the Git-Extensions GUI together with Paegent (and PuTTYgen) for managing my ssh keys
3. Make changes in your local adapto working directory - fix a bug, add a feature, or just correct a spelling mistake, it's all good.
This includes testing!
4. Commit your changes to your local Adapto git repo
Use git add/commit/commit -a to commit your changes locally
5. Push your local changes to your GitHub fork (in your own GitHub account).
First, fetch any changes that were committed recently to the master Adapto since you cloned locally, then use "$ git push origin master" to push your local changes to the repo in your GitHub account.
6. Send the core team a pull request for your changes
Click the Pull Request button at the top of your Adapto fork (in your GitHub account).
7. Keep an eye on the pull request as Ivo may comment on your code there.

8. Once your pull is approved, Ivo will merge it into the master codebase.

Clone this wiki locally