diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 70e915f206..6b0c224241 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -21,19 +21,18 @@ While we try to keep requirements for contributing to a minimum, there are a few we ask that you mind. For code contributions, these guidelines include: -* respect the project code style - find templates for [Eclipse](https://community.jboss.org/docs/DOC-16649) - and [IntelliJ IDEA](https://community.jboss.org/docs/DOC-15468) +* respect the project code style - find templates for [IntelliJ IDEA](https://community.jboss.org/docs/DOC-15468) or [Eclipse](https://community.jboss.org/docs/DOC-16649) * have a corresponding JIRA issue and the key for this JIRA issue should be used in the commit message * have a set of appropriate tests. For bug reports, the tests reproduce the initial reported bug and illustrates that the solution actually fixes the bug. For features/enhancements, the tests illustrate the feature working as intended. In both cases the tests are incorporated into - the project to protect against regressions. + the project to protect against regressions * if applicable, documentation is updated to reflect the introduced changes * the code compiles and the tests pass (`./gradlew clean build`) For documentation contributions, mainly just respect the project code style, especially in regards -to use of tabs - as mentioned above, code style templates are available for both Eclipse and IntelliJ -IDEA IDEs. Ideally these contributions would also have a corresponding JIRA issue, although this +to use of tabs - as mentioned above, code style templates are available for both IntelliJ IDEA and Eclipse +IDEs. Ideally these contributions would also have a corresponding JIRA issue, although this is less necessary for documentation contributions. @@ -42,12 +41,12 @@ is less necessary for documentation contributions. If you are just getting started with Git, GitHub and/or contributing to Hibernate via GitHub there are a few pre-requisite steps to follow: -* Make sure you have a [Hibernate JIRA account](https://hibernate.atlassian.net) -* Make sure you have a [GitHub account](https://github.com/signup/free) -* [Fork](https://help.github.com/articles/fork-a-repo) the Hibernate repository. As discussed in +* make sure you have a [Hibernate JIRA account](https://hibernate.atlassian.net) +* make sure you have a [GitHub account](https://github.com/signup/free) +* [fork](https://help.github.com/articles/fork-a-repo) the Hibernate repository. As discussed in the linked page, this also includes: - * [Set](https://help.github.com/articles/set-up-git) up your local git install - * Clone your fork + * [set up your local git install](https://help.github.com/articles/set-up-git) + * clone your fork * See the wiki pages for setting up your IDE, whether you use [IntelliJ IDEA](https://community.jboss.org/wiki/ContributingToHibernateUsingIntelliJ) or [Eclipse](https://community.jboss.org/wiki/ContributingToHibernateUsingEclipse)(1). @@ -59,7 +58,7 @@ Create a [topic branch](http://git-scm.com/book/en/Git-Branching-Branching-Workf on which you will work. The convention is to incorporate the JIRA issue key in the name of this branch, although this is more of a mnemonic strategy than a hard-and-fast rule - but doing so helps: * remember what each branch is for -* isolate the work from other contributions you may be working on. +* isolate the work from other contributions you may be working on _If there is not already a JIRA issue covering the work you want to do, create one._ @@ -69,17 +68,17 @@ on the JIRA HHH-123 : `git checkout -b HHH-123 master` ## Code -Do yo thing! +Do your thing! ## Commit -* Make commits of logical units. -* Be sure to use the JIRA issue key in the commit message. This is how JIRA will pick -up the related commits and display them on the JIRA issue. -* Make sure you have added the necessary tests for your changes. -* Run _all_ the tests to assure nothing else was accidentally broken. -* Make sure your source does not violate the checkstyles. +* make commits of logical units +* be sure to **use the JIRA issue key** in the commit message. This is how JIRA will pick +up the related commits and display them on the JIRA issue +* make sure you have added the necessary tests for your changes +* run _all_ the tests to assure nothing else was accidentally broken +* make sure your source does not violate the _checkstyles_ _Prior to committing, if you want to pull in the latest upstream changes (highly appreciated btw), please use rebasing rather than merging. Merging creates @@ -87,10 +86,9 @@ appreciated btw), please use rebasing rather than merging. Merging creates ## Submit -* Push your changes to the topic branch in your fork of the repository. -* Initiate a [pull request](http://help.github.com/articles/creating-a-pull-request) -* Update the JIRA issue, adding a comment including a link to the created pull request - _if the JIRA key was not used in the commit message_. +* push your changes to the topic branch in your fork of the repository +* initiate a [pull request](http://help.github.com/articles/creating-a-pull-request) +* update the JIRA issue by providing the PR link in the **Pull Request** column on the right It is important that this topic branch on your fork: @@ -98,9 +96,9 @@ It is important that this topic branch on your fork: * be isolated to just the work on this one JIRA issue, or multiple issues if they are related and also fixed/implemented by this work. The main point is to not push commits for more than one PR to a single branch - GitHub PRs are linked to - a branch rather than specific commits. + a branch rather than specific commits * remain until the PR is closed. Once the underlying branch is deleted the corresponding - PR will be closed, if not already, and the changes will be lost. + PR will be closed, if not already, and the changes will be lost # Notes (1) Gradle `eclipse` plugin is no longer supported, so the recommended way to import the project in your IDE is with the proper IDE tools/plugins. Don't try to run `./gradlew clean eclipse --refresh-dependencies` from the command line as you'll get an error because `eclipse` no longer exists