You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Where to start

You need the source code tree to work with. You can clone the repo.

Clone the repo

git clone https://git-wip-us.apache.org/repos/asf/incubator-ignite

How to generate patches

We use git as our version control system. To streamline the process of giving proper credit to the contributors when committing patches, we encourage contributors to submit patches generated using git format-patch. This has many benefits:

  • Committers can't forget to attribute proper credit to the contributor
  • The contributors name and email address shows up in git log

Long story short, it makes both the contributors' and committers' lives easier, so please generate your patches using git format-patch.

We have next requirements to patches:

  • patch can be applied to the HEAD of current ignite-sprint-xxx branch by "git am <patch-file>" without conflicts.
  • patch has to have all changes in one commit with comment like "ignite-xxx: Implemented."
  • patch-file has to have 'patch', 'txt' or 'diff' extension

Patch creation process

We suggest to use the next step-by-step schema then you developing something.

For example, you are starting developing feature IGNITE-9999, which should be fixed at ignite-sprint-999.

## Get the repo
git clone -b ignite-sprint-999 https://github.com/apache/incubator-ignite.git
git checkout -b ignite-9999
## Some development here with many commits at ignite-9999.
git commit -a -m 'ignite-9999: Intermediate commit 1';
...
git commit -a -m 'ignite-9999: Intermediate commit 100';
## Commit the last changes.
git commit -a -m 'ignite-9999: Implemented.';
## Making patch.
## There are a lot of changes at ignite-sprint-999 and we need to get it, resolve conflicts (if exists), rerun tests for ignite-9999.
git merge ignite-sprint-999
## Run script to make patch. Patch will have all changes as one commit.
<ignite_home>/scripts/git-format-patch.sh

Note: it is strongly recommended to merge current sprint branch (git merge ignite-sprint-999) to your development branch, for example, every day (or after each commit).

Patch validation

Created patch-file should be attached to a JIRA ticket and the ticket status should be changed on Patch Available.

If you do all right, then all necessary TC test builds will be triggered automatically in 3 minutes period and a comment with triggered builds information (test package names and link on builds) will be added to the JIRA.

Requirements (to auto triggering the test builds):

  • patch-file has to have 'patch', 'txt' or 'diff' extension
  • patch-file has to be attached by JIRA user with contributor role.
  • No labels