Skip to content
Permalink
Browse files
update contributing.md
  • Loading branch information
lide committed Nov 1, 2018
1 parent 18bdb4c commit 15d5e9ab37a2bbe52dd161e7f24320f8e6f3b5da
Showing 1 changed file with 82 additions and 83 deletions.
@@ -16,143 +16,142 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.-->
# Contributing to Apache Doris (incubating)
Thanks for your interest in contributing.
As you see from [GitHub] (https://github.com/apache/incubator-doris), Apache Doris (incubating)’s codebase consists of two parts: frontend (FE) which written in JAVA and backend (BE) which writte in C++.
## How to contribute?
## 1. How to contribute?
Most of the contributions that we receive are code contributions, but you can
also contribute to the documentation or simply report solid bugs
for us to fix.
When you contribute code, you affirm that the contribution is your original work and that you license the work to the project under the project’s open source license. Whether or not you state this explicitly, by submitting any copyrighted material via pull request, email, or other means you agree to license the material under the project’s open source license and warrant that you have the legal authority to do so.
## GitHub Workflow
## 2. GitHub Workflow
### 2.1 How to fork and pull request
1. Fork the apache/incubator-doris repository into your GitHub account
1) Fork the apache/incubator-doris repository into your GitHub account
<https://github.com/apache/incubator-doris/fork>
1. Clone your fork of the GitHub repository
2) Clone your fork of the GitHub repository
```sh
git clone git@github.com:<username>/doris.git
```
```
git clone git@github.com:<username>/doris.git
```
Replace `<username>` with your GitHub username.
replace `<username>` with your GitHub username.
1. Add a remote to keep up with upstream changes
3) Add a remote to keep up with upstream changes
```
git remote add upstream https://github.com/apache/incubator-doris.git
```
```
git remote add upstream https://github.com/apache/incubator-doris.git
```
If you already have a copy, fetch upstream changes
If you already have a copy, fetch upstream changes
```
git fetch upstream master
```
```
git fetch upstream master
```
1. Create a feature branch to work in
4) Create a feature branch to work in
```
git checkout -b feature-xxx remotes/upstream/master
```
```
git checkout -b feature-xxx remotes/upstream/master
```
1. _Before submitting a pull request_ periodically rebase your changes
5) Before submitting a pull request periodically rebase your changes
(but don't do it when a pull request is already submitted)
```
git pull --rebase upstream master
```
```
git pull --rebase upstream master
```
6) Before submitting a pull request, combine ("squash") related commits into a single one
```
git rebase upstream/master
```
7) Submit a pull-request
```
git push origin feature-xxx
```
Go to your Doris fork main page
```
https://github.com/<username>/doris
```
1. Before submitting a pull request, combine ("squash") related commits into a single one
If you recently pushed your changes GitHub will automatically pop up a `Compare & pull request` button for any branches you recently pushed to. If you click that button it will automatically offer you to submit your pull-request to the apache/incubator-doris repository.
```
git rebase upstream/master
```
Give your pull-request a meaningful title.
1. Submit a pull-request
In the description, explain your changes and the problem they are solving.
```
git push origin feature-xxx
```
8) Addressing code review comments
Go to your Doris fork main page
Address code review comments by committing changes and pushing them to your feature branch.
```
https://github.com/<username>/doris
```
```
git push origin feature-xxx
```
If you recently pushed your changes GitHub will automatically pop up a
`Compare & pull request` button for any branches you recently pushed to. If you
click that button it will automatically offer you to submit your pull-request
to the apache/incubator-doris repository.
### 2.2 If your pull request shows conflicts with master
If your pull request shows conflicts with master, merge master into your feature branch:
- Give your pull-request a meaningful title.
- In the description, explain your changes and the problem they are solving.
```
git merge upstream/master
```
1. Addressing code review comments
and resolve the conflicts. After resolving conflicts, push your branch again:
Address code review comments by committing changes and pushing them to your feature
branch.
```
git push origin feature-xxx
```
```
git push origin feature-xxx
```
Avoid rebasing and force pushes after submitting a pull request, since these make it difficult for reviewers to see what you've changed in response to their reviews.
### If your pull request shows conflicts with master
If your pull request shows conflicts with master, merge master into your feature branch:
The Doris committer that merges your change will rebase and squash it into a single commit before committing it to master.
```
git merge upstream/master
```
and resolve the conflicts. After resolving conflicts, push your branch again:
```
git push origin feature-xxx
```
## 3. How to report a bug
_Avoid rebasing and force pushes after submitting a pull request,_ since these make it
difficult for reviewers to see what you've changed in response to their reviews. The Doris
committer that merges your change will rebase and squash it into a single commit before
committing it to master.
## How to report a bug?
Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/apache/incubator-doris/issues).
* **Ensure the bug was not already reported** by searching on GitHub under [Issues](https://github.com/apache/incubator-doris/issues).
If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/apache/incubator-doris/issues/new).
* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/apache/incubator-doris/issues/new). Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
Be sure to include a **title and clear description**, as much relevant information as possible, and a **code sample** or an **executable test case** demonstrating the expected behavior that is not occurring.
## How to add a new feature or change an existing one
## 4. How to add a new feature or change an existing one
_Before making any significant changes, please [open an issue](https://github.com/apache/incubator-doris/issues)._ Discussing your proposed changes ahead of time will make the contribution process smooth for everyone.
Before making any significant changes, please [open an issue](https://github.com/apache/incubator-doris/issues). Discussing your proposed changes ahead of time will make the contribution process smooth for everyone.
Once we've discussed your changes and you've got your code ready, make sure that tests are passing and open your pull request. Your PR is most likely to be accepted if it:
* Update the README.md with details of changes to the interface.
* Includes tests for new functionality.
* References the original issue in description, e.g. "Resolves #123".
* Has a good commit message: (refer to <https://chris.beams.io/posts/git-commit/>)
* Separate subject from body with a blank line.
* Limit the subject line to 50 characters.
* Capitalize the subject line.
* Do not end the subject line with a period.
* Use the imperative mood in the subject line.
* Wrap the body at 72 characters.
* Use the body to explain what and why vs. how.
1. Separate subject from body with a blank line
1. Limit the subject line to 50 characters
1. Capitalize the subject line
1. Do not end the subject line with a period
1. Use the imperative mood in the subject line
1. Wrap the body at 72 characters
1. Use the body to explain what and why vs. how
## 5. Contact US
## Contact US
You can contact us by one of following way:
1. Development maillist: <dev@doris.apache.org>
1. Website: <http://doris.apache.org>
1. CodeBase: <https://github.com/apache/incubator-doris>
* Development maillist: <dev@doris.apache.org>
* Website: <http://doris.apache.org>
Subscribe to the dev list dev@doris.apache.org. You do that by sending mail to dev-subscribe@doris.apache.org.
Subscribe to the dev list <dev@doris.apache.org>. You do that by sending mail to <dev-subscribe@doris.apache.org>.

0 comments on commit 15d5e9a

Please sign in to comment.