Skip to content

Developer and Contributor Guide

Florian Albrecht edited this page Mar 23, 2015 · 2 revisions

How to work on a bugfix or new feature

For each and every change you want to contribute to AludraTest, you will have to create a GitHub Pull Request. A Pull Request asks the AludraTest maintainer team to include a bunch of commits from your fork into the AludraTest master.

One-time: Fork AludraTest

Start contributing to AludraTest by forking it into your GitHub account.

After forking, clone your fork and create a tracking remote called "upstream" in your clone.

Working on a change

To start working on a new bugfix or feature, perform the following steps:

  1. Update the "upstream" remote
  2. Create a branch based on "upstream/master"
  3. Work on the bugfix / feature, commit as often as required
  4. Push the branch to your repository and create the Pull Request.

Update the "upstream" remote

git fetch upstream

Create a branch based on "upstream/master"

git checkout -b bugfix1234 upstream/master or git checkout -b my_cool_new_feature upstream/master

Push your newly created branch to your own repository:

git push origin bugfix1234 (or the other one)

Work on the bugfix / feature

Use your favourite IDE to work on the bugfix or feature. Do not push commits using the IDE, because this would try to push them to the AludraTest repository (to AludraTest/bugfix1234), which would fail if you do not have the required rights. (If you are an AludraTest developer, it would not fail, which is even worse).

But commit as often as you like. If you want to save your commits to GitHub, just push your branch to "origin" (see next command).

Push the branch to your repository and create Pull Request

To push all commits to your own repository, again use

git push origin bugfix1234 (or whatever branch name)

Now you can create the Pull Request using the GitHub web interface. Open GitHub and browse to your AludraTest fork or to AludraTest master. GitHub will recognize the fresh push to your own branch and offer to compare and review the changes and create a Pull Request. Follow the instructions and refer to GitHub documentation for more information.

When your Pull Request is created, an AludraTest maintainer will review it. This can result in one of three scenarios:

  1. The Pull Request is being merged into AludraTest master. You will be notified about the merge. After the merge, you can safely delete your created branch.
  2. Comments are added to the Pull Request, e.g. asking for slight changes or improvements. You will be notified about the comments. Perform the requested changes and again commit & push to your branch (remember, push the branch to "origin"). This will automatically amend the Pull Request.
  3. The Pull Request is being rejected. This could e.g. be the case if your Pull Request contains multiple independent changes, the change contains a new feature which does not match the overall AludraTest Roadmap, or similar reasons. A maintainer will always comment why the Pull Request is being rejected.