|
18 | 18 | #
|
19 | 19 | -->
|
20 | 20 |
|
21 |
| -# Apache Cassandra and Pull Requests |
| 21 | +# How to Contribute |
22 | 22 |
|
23 |
| -Apache Cassandra doesn't use GitHub pull requests as part of the development process. |
24 |
| -In fact, this repository is a GitHub mirror of [the official repo](https://gitbox.apache.org/repos/asf/cassandra.git). |
| 23 | +There are many opportunities to contribute code to Apache Cassandra, including documentation updates, test improvements, |
| 24 | +bug fixes, changes to the Java code base, and tooling improvements. |
25 | 25 |
|
26 |
| -# How to Contribute |
| 26 | +Before getting started, please read about [Contributing Code Changes](https://cassandra.apache.org/_/development/patches.html), and familiarize yourself with Cassandra's [code style guidelines](https://cassandra.apache.org/_/development/code_style.html), [testing](https://cassandra.apache.org/_/development/testing.html) and [code review checklist](https://cassandra.apache.org/_/development/how_to_review.html). |
| 27 | + |
| 28 | +A recommended workflow to get started is: |
| 29 | +1. Find or create an issue in the [Cassandra JIRA](https://issues.apache.org/jira/browse/CASSANDRA/) that describes the work you plan to do. |
| 30 | +2. Create a personal fork of the [Apache Cassandra GitHub repo](https://github.com/apache/cassandra). |
| 31 | +3. Clone your fork into your development environment. |
| 32 | +4. Create your feature branch. Please see the branch naming suggestion, below. |
| 33 | +5. Make, build, test and self-review your changes on your feature branch. |
| 34 | +6. Submit the patch, either by creating a GitHub pull request, attaching a patch file to your JIRA, or posting a |
| 35 | +link to a GitHub branch with your changes. |
| 36 | + |
| 37 | +Branch naming: To ease collaboration, consider naming your feature branch like `your-name/jira-id/base-branch`. For |
| 38 | +example, `jcshepherd/CASSANDRA-12345/trunk`. This convention will help with managing multiple collaborators on a shared |
| 39 | +fork, and managing patches which differ across different Cassandra versions. |
| 40 | + |
| 41 | +Note: [Committers](https://projects.apache.org/committee.html?cassandra) follow additional processes for handling patches, pull requests, and committing directly to [the official repo](https://gitbox.apache.org/), which the Apache Cassandra GitHub repo mirrors. |
| 42 | + |
| 43 | +## Contributing to Related Projects |
| 44 | + |
| 45 | +There are a number of [Cassandra-related projects](https://github.com/apache?q=cassandra&type=all&language=&sort=) where |
| 46 | +contributions may be welcomed, including: |
| 47 | +- [Cassandra Website](https://github.com/apache/cassandra-website) |
| 48 | +- [Cassandra Sidecar](https://github.com/apache/cassandra-sidecar) |
| 49 | +- [Cassandra Analytics](https://github.com/apache/cassandra-analytics) |
| 50 | +- Cassandra drivers for [Java](https://github.com/apache/cassandra-java-driver) and [Go](https://github.com/apache/cassandra-gocql-driver) |
| 51 | +- [Cassandra Spark Connector](https://github.com/apache/cassandra-spark-connector) |
| 52 | +- [Cassandra DTests (distributed tests)](https://github.com/apache/cassandra-dtest) |
27 | 53 |
|
28 |
| -Use [Cassandra JIRA](https://issues.apache.org/jira/browse/CASSANDRA/) to create an issue, then either attach a patch or post a link to a GitHub branch with your changes. |
| 54 | +... and [more](https://github.com/apache?q=cassandra&type=all&language=&sort=). Visit those repositories and their related |
| 55 | +JIRA issues for more information on making contributions. |
29 | 56 |
|
30 |
| -# Working with submodules |
| 57 | +# Working with Submodules |
31 | 58 |
|
32 | 59 | Apache Cassandra uses git submodules for a set of dependencies, this is to make cross cutting changes easier for developers. When working on such changes, there are a set of scripts to help with the process.
|
33 | 60 |
|
|
0 commit comments