Development getting started » History » Version 16
« Previous -
Version 16/18
(diff) -
Next » -
Current version
johu, 09/03/2010 10:59 AM
update link to git patches
Getting started¶
- Table of contents
- Getting started
This guide guide describes how you get involved as new developer. If you only want to contribute patches you can checkout following guide about
Git patches
Redmine¶
No source code change without an issue. Quassel project manages bugs and features with the redmine plattform. To get open issue (bug or feature) assigned, you have to setup account here on http://bugs.quassel-irc.org.
Please choose a nick is identical or similar to your irc nick.
Git¶
Install git on your operation system and configure it.
git config --global user.name "First name and last name" git config --global user.email registered@email.example.com
Optional you can switch colorful output on.
git config --global color.ui auto
Gitorious¶
Setup account¶
Please choose a nick is identical or similar to your irc nick.
quassel clone¶
Setup your personal clone of quassel. Go to http://gitorious.org/quassel/quassel/clone and choose a name like yournicks-quassel.
Switch to preferred directory for your projects like /home/yournick/projects
. Now you can clone the personal quassel clone to local machine.
git clone git://gitorious.org/~yournick/quassel/yournicks-quassel.git
ssh key¶
To push changes you will need a SSH key pair. To generate it on linux type the command:
ssh-keygen -t rsa
On Windows you can check the official faq for a solution.
After following instructions, you should now have a private key like id_dsa and public key id_dsa.pub in your ~/.ssh/. Upload the public key in your gitorious account options. http://gitorious.org/~yournick/keys/new
ssh agent¶
TODO
Workflow¶
First step¶
Get and issue to work on. If you have proper rights on redmine assign assign self, otherwise ask in irc to get it.
Create branch¶
Remember do not work on master branch. Just create one branch for one.
git branch branch_issue_x
Switch to branch¶
git checkout branch_issue_x
Implementation¶
Work on this checkout - follow the normal development workflow...
Commit¶
Commit changes to your local checkout
git commit -a
Please try to merge all your commits to one.
TODO EXAMPLE COMMAND
Note: If you add fixes issue-number to your commit message, redmine will close your issue with the issue number.
Publish¶
To publish your changes just push it to gitorious. You will need running ssh-agent with your private ssh key as described above.
git push git@gitorious.org:~yournick/quassel/yournicks-quassel.git branch_issue_x
Merge request¶
To submit your changes just create a merge request on gitorious by going to your clone page and selecting Request merge in the menu.
Cleanup¶
If your merge request is applied, you can delete your branch.
- local branch
git branch -D branch_issue_x
- remote branch
git push git@gitorious.org:~yournick/quassel/yournicks-quassel.git :branch_issue_x
Stay up to date¶
- Follow the main development branch by adding it as remote branch.
git remote add upstream git://gitorious.org/quassel/quassel.git
- Update by pulling from the remote.
git pull --rebase upstream master
Now you can push the changes to your remote as described.
Note You should only push these changes to your remote master. Do not push other changes to your master.