Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

                                                         +-----------------+

...

For contributors

To start:

  • You need to

...

  • fork

...

To make contribution:

  • Fix / implement JIRA ticket in your fork. Commit to remote branch to origin (origin = your fork). It's recommended to develop IGNITE-xxx ticket at ignite-xxx branch.
  • Create pull request from the new remote branch in the fork to master of Apache Ignite mastermirror.
  • TeamCity will automatically trigger builds and label it as a "pull/<pull-request-number>/head". Select this label in the branches dropdown and monitor test results.
  • Once tests are passed, the pull request can be reviewed and merged by a committer.

...

For committers

...

In additional to contributors configuration, commiters To merge a pull request you need to have two remotes one more remote - one for working with Apache Git repo and another for GitHub mirror. They It can be added like this:

To merge a pull request to Apache Ignite master do the following (replace <xxx> with the pull request number):

To push any branch at Apache repo use

  • git push apache <branch_name>

To apply a pull-request it's strongly recommended using ./scripts/apply-pull-request.sh script. Script takes 'pull-request-id' as a parameter and do next:

  1. Checks that you donGo to you fork, make sure it doesn't have any uncommitted changes.
  2. Checks you are one master branch and master branch is up-to-date.
  3. Updates local master from Apache git repo.
  4. Fetch Fetches pull request to a local branch:
    • git fetch upstream pull/

    <xxx>
    • <id>/head:pull-<id>-head

  5. Saves an author and a comment of the last commit at pull-<id>-head.
  6. Merges pr-<xxx>Merge from the new branch to master:
    • git merge --squash
      pr-<xxx>
       pull-<id>-head
  7. Ask you about custom comment or using the saved comment.
  8. Commit to local master. Do not forget to specify author and provide a comment that . The script automatically sign-off a commit and add "Fixes #<id>." suffix to comment (It will close the pull request (, see https://help.github.com/articles/closing-issues-via-commit-messages/):
    • git commit --author=
      “John Doe <jdoe@apache.org>" -m “ignite-999 - Cool feature implemented. Closes #<xxx>.”
    Push to 'apache' remote:git push apache master
    • “<saved_author>" -s -m “<comment>. Fixes #<id>.”

Now, you will have one commit at master with all changes from pull-request. Changes can be reviewed again. If you accept all changes and want to push it, do next:

  •  git push apache master

 

2. Patch-file

2.1 Where to start

...