High level steps

See also http://qt.gitorious.org/qt/pages/QtContributionGuidelines

  1. Create a personal clone of Qt-components on Gitorious.
  2. Push your patch to your local clone, in a local feature branch. Changes should be at feature level for features, patch level for bug fixes. (E.g. don’t push a Widget implementation as 127 independent commits – this will be rejected as it’s not practical to review)
  3. make sure you rebase the local feature branch against a local ‘upstream’ remote that points to the master branch in qt-components git repo
  4. In your personal clone web view on gitorious.org – click “Request Merge” using your clone and feature branch (which should be rebased on top of ‘upstream’)
  5. Review and agree to our contribution agreement (you only need to do this once, unless the license changes)
  6. Fill out the information about your merge request in a crisp and detail way, making it as easy as possible for the reviewer to decide on next actions
  7. Merge request will be reviewed.
  8. If your contribution satisfies our technical requirements then your code is subjected to a code scan with our legal team. This takes approximately two weeks (we hope to automate this in future).
  9. Assuming the scan is successful, will include the changes and they will appear in the Qt repository.

Coding style

Follow the coding style from:

Commit Policy

We are following Qt Commit Policy whenever feasible. Qt-components specific updates to above:

  • Verify that there are no regressions in autotests by running make check
  • All auto tests must pass before doing a merge request.
  • Run also the gallery application under examples and go through all the components and check that they work.
  • Run the above (autotests and gallery app) in as many platforms/styles as possible/feasible.
  • Be sure that you update the autotests in tests/auto to cover the functionality you may have added and/or the bugs you have fixed.

Commit template

When configuring the git for use run command:

git config commit.template .commit-template in qt-components root directory. It will the use the template provided whenever editor is opened for you to write the commit message.

The .commit-template looks like this:

# ===[ Subject ]==========[ one line, please wrap at 72 characters ]===|

# —–[ Details ]————–[ remember extra blank line after subject ]—–|

# —–[ Fields ]————————–[ uncomment and edit as applicable ]—–|

#Task-number:
Reviewed-by: pending

# ==================================[ please wrap at 72 characters ]===|

For the task-number use the JIRA item id like: QTBUG-15857, if you change / fix is related to an item in JIRA.

Update JIRA

If your commit is fixing or implementing a JIRA issue, add a comment to JIRA to refer to your commit.