-
Notifications
You must be signed in to change notification settings - Fork 7
Development Process
The Adapto Project uses a typical distributed development process.
First, join the Sourceforge Adapto-project developers mailing list. Second, get a free GitHub user id if you don't already have one. Once you have a GitHub user id, you can contribute to the Adapto Wiki on GitHub.
To contribute code to Adapto, fork the main egeniq/adapto repository to your own GitHub account. If you're actively working on something, please send a note to the mailing list so the community is aware and everyone can benefit. Successful open source projects are collaborative and depend on everyone staying informed to work together.
1. Login to GitHub and fork the master Adapto project to your own GitHub account.
- Access the egeniq/adapto project and click the Fork button at the top of the page (just below your login name). Forking is essentially the same as cloning, but with access to GitHub's unique Pull-Request feature for submitting your changes back to the core project team.
- 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 (although unfortunately not mine), but requires you to type your GitHub login name and password each commit (although they can be temporarily cached). You specify which protocol to use by the format of the source URL in the clone command.
- On Windows, I use Git-Extensions with PuTTY/Paegent for managing my ssh keys, and clone using the Read-Write SSH URL shown at the top of my GitHub repo (I tried using GitHub for Windows once, but found it too dumbed-down for my liking).
- Setting an upstream remote makes it easy to pull changes from the master Adapto repository to your local clone, which should be done periodically and especially before pushing local changes back to your GitHub fork to avoid a potential mess of 3-way merging if you and the master project have diverged.
- Using Git Bash on Windows, I specify a the Read-only SSH URL so Git doesn't try authenticating me (because I don't have privileges to the master Adapto repository anyway):
dale@DALE-T61 /c/xampp/htdocs/adapto (master) $ git fetch upstream From git://github.com/dalers/adapto * [new branch] master -> upstream/master dale@DALE-T61 /c/xampp/htdocs/adapto (master) $
4. Make changes in your local adapto working directory - fix a bug, add a feature, or just correct a spelling mistake, it's all good.
- Test your changes locally!
- Use git add/commit/commit -a to commit your changes locally
- 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.
- Click the Pull Request button at the top of your Adapto fork (in your GitHub account).
9. Once your pull is approved, Ivo will merge it into the master codebase.