Versions Compared

Key

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

...

Provide Patches: We encourage you to assign the relevant JIRA issue to yourself and supply a patch for it. The patch you provide can be codedocumentationbuild changes, or any combination of these. More information on this is available in the following sections.

Documentation: Contribute to the Sentry documentation by adding descriptions of new features, updating outdated documentation, and filling in documentation gaps. 

Providing Patches

In order to provide patches, follow these guidelines:

...

  • How to create a patch file:
    • The preferred naming convention for Sentry patches is SENTRY-12345.patch, or SENTRY-12345-0.001.patch where 12345 is the JIRA number. You might want to name successive versions of the patch something like SENTRY-12345-1.002.patch, SENTRY-12345-2.003.patch, etc. as you iterate on your changes based on review feedback and re-submit them.
    • If the patch is targeted for other branch, the patch name should be followed by SENTRY-<JIRA number>.<patch version>-<branch name>, for example: SENTRY-12345.001-branch1.patch
    • The command to generate the patch is "git diff". Example:

      Code Block
      $ git diff > /path/to/SENTRY-1234.001.patch
       
      for Branch
      $ git diff > /path/to/SENTRY-1234.001-0branch1.patch
    • Read the patch file. Make sure it includes ONLY the modifications required to fix a single issue.

  • Before you submit your patch:
    1. Your change should be well-formatted and readable. Please use two spaces for indentation (no tabs).
    2. Carefully consider whether you have handled all boundary conditions and have provided sufficiently defensive code where necessary.
    3. Add one or more unit tests, if your change is not covered by existing automated tests. Also add e2e tests if it is a new feature.
    4. Insert java docs and code comments where appropriate.
    5. If your patch implements a major feature or improvement, then you must fill in the Release Note field on the issue's Jira with an explanation of the feature that will be comprehensible by the end user.
    6. Please note that the attachment should be granted license to ASF for inclusion in ASF works (as per the Apache License §5).
    7. Please do not:

      • reformat code unrelated to the bug being fixed: formatting changes should be separate patches/commits.
      • comment out code that is now obsolete: just remove it.
      • make things public which are not required by end users.

      Please do:

      • comment code whose function or rationale is not obvious;
      • name the patch file after the JIRA – SENTRY-<JIRA#>.patch
  • Running RAT checks

    Before submitting your patch, please run RAT check to make sure all the files have the necessary license headers.

    To do so, run:

    Code Block
    mvn verify -DskipTests
    
  • How to apply someone else's patch file:
    • You can apply someone else's patch with the GNU patch tool. Example:

      Code Block
      $ cd ~/workspace/sentry # or wherever you keep the root of your Sentry source tree
      $ patch -p1 < SENTRY-1234.0001.patch
      
    • Contributors may variously submit patches in a couple of different formats. If you get some dialog from the patch tool asking which file you want to patch, try variously the "-p1" or "-p0" flags to patch. Without any additional arguments, git diff generates patches that are applied using patch -p1. If you usegit diff --no-prefix to generate your patch, you have to apply it using patch -p0. The ReviewBoard tool understands both formats and is able to apply both types automatically.

...

If a change has met all your criteria for review, please +1 the change to indicate that you are happy with it.

Contributing to the Documentation

Before you edit the Sentry documentation, create a JIRA with the Docs component to track documentation changes. Request access to this wiki from the Sentry PMC and make the required changes. There is no formal review process for the wiki, but it is always a good idea to have the documentation reviewed before closing the JIRA. 

Stay involved

Contributors should join the Sentry mailing lists. In particular, the commits@sentry.incubator.apache.org list (to see changes as they are made), the dev@sentry.incubator.apache.org list (to join discussions of changes).

...

Disclaimer

Apache Sentry is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the name of Apache TLP sponsor. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.