You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2020/04/17 00:55:00 UTC

[incubator-iotdb] branch master updated: add howtocommit,committer,modify ContributeGuide (#1059)

This is an automated email from the ASF dual-hosted git repository.

hxd pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new c865099  add howtocommit,committer,modify ContributeGuide (#1059)
c865099 is described below

commit c8650999f268fa01a2e859366edb05ee3295e501
Author: Sail <37...@users.noreply.github.com>
AuthorDate: Fri Apr 17 08:54:52 2020 +0800

    add howtocommit,committer,modify ContributeGuide (#1059)
    
    * add Being a committer  and how to commit PR docs
---
 docs/Development/Committer.md          |  77 ++++++++++++++++++
 docs/Development/ContributeGuide.md    |  18 ++---
 docs/Development/HowToCommit.md        | 139 +++++++++++++++++++++++++++++++++
 docs/Development/VoteRelease.md        |   4 -
 docs/zh/Development/Committer.md       |  78 ++++++++++++++++++
 docs/zh/Development/ContributeGuide.md |  14 ++--
 docs/zh/Development/HowToCommit.md     | 139 +++++++++++++++++++++++++++++++++
 site/src/main/.vuepress/config.js      |   6 +-
 8 files changed, 454 insertions(+), 21 deletions(-)

diff --git a/docs/Development/Committer.md b/docs/Development/Committer.md
new file mode 100644
index 0000000..a4dda33
--- /dev/null
+++ b/docs/Development/Committer.md
@@ -0,0 +1,77 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, 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.
+
+-->
+
+# Become a Committer
+
+An Apache IoTDB [committer](https://www.apache.org/foundation/how-it-works.html#committers) has write access to the repository for merging pull requests, but you don’t have to be a code contributor to become a committer. Becoming a committer means that you have the project’s trust. Read the [ASF documentation](https://www.apache.org/dev/committers.html#committer-responsibilities) for more about being a committer in the Apache Software Foundation.
+
+The [PMC](https://www.apache.org/foundation/how-it-works.html#pmc-members) makes someone a committer via nomination, discussion, and then majority vote. We use data from as many sources as possible to inform our reasoning. Here are some examples:
+
+- IoTDB expert and evangelist (documentations, blogs, etc..)
+- Public events
+- Firsthand PMC testimonials
+
+The PMC has assembled the following set of guidelines for becoming a committer.
+
+## An Apache IoTDBcommitter…
+
+### Takes many forms
+
+There are many actions other than coding that build the trust we place in a committer - code review, design discussion, user support, community outreach, improving infrastructure, documentation, project management, etc.
+
+### Knows, upholds, and reinforces the Apache Software Foundation code of conduct
+
+See the [ASF documentation](https://www.apache.org/foundation/policies/conduct.html). In particular, they manifestly strive to:
+
+- Be open
+- Be empathetic
+- Be welcoming
+- Be friendly
+- Be patient
+- Be collaborative
+- Be inquisitive
+- Be careful in the words that they choose
+
+### Knows, upholds, and reinforces the responsibilities of an Apache Software Foundation committer
+
+See the [ASF documentation](https://www.apache.org/dev/committers.html#committer-responsibilities).
+
+- They help create a product that will outlive the interest of any particular volunteer (including themselves)
+- They grow and maintain the health of the Apache community
+- They help out with surrounding work, such as the website & documentation
+- They help users
+- They can be trusted to decide when code is ready for release, or when to ask someone else to make the judgment
+- They can be trusted to decide when to merge code (if a code contributor) or when to ask someone else to make the judgment
+
+### Knows, upholds, and reinforces the IoTDB community’s practices
+
+- They have a proven commitment to the project
+- They share their intentions with the community
+- They accept and integrate community feedback in their plans, designs, code, etc.
+- They earnestly try to make IoTDB better with their contributions
+- In particular, if a code contributor:
+  - They earnestly try to make IoTDB better with their own code
+  - They earnestly try to make IoTDB better with code review
+  - They accept and integrate feedback on their code
+  - They know, follow, and enforce IoTDB's practices while reviewing/merging code - style, documentation, testing, backward compatibility, etc.
+
+
+The code of conduct is derived from [Apache Beam](https://beam.apache.org/contribute/become-a-committer/).
\ No newline at end of file
diff --git a/docs/Development/ContributeGuide.md b/docs/Development/ContributeGuide.md
index a2c111e..f5f63d5 100644
--- a/docs/Development/ContributeGuide.md
+++ b/docs/Development/ContributeGuide.md
@@ -53,12 +53,14 @@ You can choose issue types: bug, improvement, new feature, etc.  New issues will
 
 The content of all IoTDB official websites is in the docs of the project root directory:
 
-* docs/Documentation/SystemDesign: System Design Document-English Version
-* docs/Documentation-CHN/SystemDesign: System Design Document-Chinese Version
-* docs/Documentation/UserGuide: User Guide English Version
-* docs/Documentation-CHN/UserGuide: User Guide Chinese Version
-* docs/Community: community
-* docs/Development: Development Guide
+* docs/SystemDesign: System Design Document-English Version
+* docs/zh/SystemDesign: System Design Document-Chinese Version
+* docs/UserGuide: User Guide English Version
+* docs/zh/UserGuide: User Guide Chinese Version
+* docs/Community: community English Version
+* docs/zh/Community: community Chinese Version
+* docs/Development: Development Guide English Version
+* docs/zh/Development: Development Guide Chinese Version
 
 Correspondence between versions and branches on the official website:
 
@@ -95,7 +97,3 @@ Recommended Use Intellij idea。```mvn clean package -DskipTests``` After puttin
 
 * Storage engine org.apache.iotdb.db.engine.StorageEngine
 * Query engine org.apache.iotdb.db.qp.QueryProcessor
-
-
-
-<FooterFixed/>
\ No newline at end of file
diff --git a/docs/Development/HowToCommit.md b/docs/Development/HowToCommit.md
new file mode 100644
index 0000000..16d28e5
--- /dev/null
+++ b/docs/Development/HowToCommit.md
@@ -0,0 +1,139 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, 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.
+
+-->
+
+# Howto Submit Code
+
+## Contribution
+
+IoTDB invites developers to participate in the construction of open source projects
+
+You can check [issues](https://issues.apache.org/jira/projects/IOTDB/issues) and participate in the resolution, or make other improvements.
+
+After submitting the pr, after passing the Travis-CI test and Sonar code quality inspection, at least one Committer agrees and the code does not conflict, you can merge
+
+## PR guide
+
+You can easily submit [Pull Request (PR)](https://help.github.com/articles/about-pull-requests/) on Github, the following will use this website project [apache / incubator-iotdb](https://github.com/apache/incubator-iotdb) as an example (if it is another project, please replace the project name incubator-iotdb)
+
+### Fork repository
+
+Visit the apache/incubator-iotdb project’s [github page](https://github.com/apache/incubator-iotdb), click `Fork` button on the right left cornor.
+
+![](https://user-images.githubusercontent.com/37333508/79351839-bd288900-7f6b-11ea-8d12-feb18c35adad.png)
+
+### Setup local repository
+
+- Clone the source code to local machine:
+
+```
+git clone https://github.com/<your_github_name>/incubator-iotdb.git
+```
+
+**Note: substitute <your_github_name> with your github username.**
+
+After the clone is done, the origin remote will point to the default branch of the cloned repository.
+
+- add apache/incubator-iotdb as upstream remote:
+
+```
+cd  incubator-iotdb
+git remote add upstream https://github.com/apache/incubator-iotdb.git
+```
+
+- Check the local repository’s remotes
+
+```
+git remote -v
+origin https://github.com/<your_github_name>/incubator-iotdb.git (fetch)
+origin    https://github.com/<your_github_name>/incubator-iotdb.git(push)
+upstream  https://github.com/apache/incubator-iotdb.git (fetch)
+upstream  https://github.com/apache/incubator-iotdb.git (push)
+```
+
+- Create a new branch to start working:(e.g. fix)
+
+```
+git checkout -b fix
+```
+
+You can make code changes after creation.
+
+- Push the changes to a remote repository:(e.g. fix)
+
+```
+git commit -a -m "<you_commit_message>"
+git push origin fix
+```
+
+For more on git usages, please visit[Git tutorial](https://www.atlassian.com/git/tutorials/setting-up-a-repository).
+
+### Create PR
+
+Goto your github page, find the apache/servicecomb-website project, swich to the branch you just pushed, click on `New pull request` and then `Create pull request`, see the image below:If you solve the [issues](https://issues.apache.org/jira/projects/IOTDB/issues), you need to add [IOTDB-xxx] at the beginning,see the image below:
+
+![](https://user-images.githubusercontent.com/37333508/79414865-5f815480-7fde-11ea-800c-47c7dbad7648.png)
+
+Congrautulations, now you have succesfully submitted a PR. For more on PR, please read [collaborating-with-issues-and-pull-requests](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/) 
+
+### Resolve conflicts
+
+When a same piece of file is edited by multiple person simultaneously, conflicts can occur. It can be resolved as follow:
+
+1:Switch to the master branch
+
+```
+git checkout master
+```
+
+2:Pull the upstream’s master branch
+
+```
+git pull upstream master
+```
+
+3:Switch back to the branch we are working on(e.g. fix)
+
+```
+git checkout fix
+```
+
+4:Rebase the working branch onto the master branch
+
+```
+git rebase -i master
+```
+
+A list of commits will be listed on your text editor. Normally we can just save and exit. Git will now apply the commits one by one onto the master branch until it encounters a conflict. When this happens, the rebase process is paused. We need to resolve the conflicts, then execute
+
+```
+git add .
+git rebase --continue
+```
+
+Repeat this process until all commits are successfully applied. And finally run
+
+5:to push the resolved branch to remote origin
+
+```
+git push -f origin fix
+```
+
+The code of conduct is derived from[Apache ServiceComb](http://servicecomb.apache.org/developers/submit-codes/)
\ No newline at end of file
diff --git a/docs/Development/VoteRelease.md b/docs/Development/VoteRelease.md
index 1bd23ce..6cc1f96 100644
--- a/docs/Development/VoteRelease.md
+++ b/docs/Development/VoteRelease.md
@@ -196,7 +196,3 @@ xxx
 find . -type f -exec grep -i "copyright" {} \; -print | sort -u
 find **/src -type f -exec grep -i "copyright" {} \; -print | sort -u
 ```
-
-
-
-<FooterFixed/>
\ No newline at end of file
diff --git a/docs/zh/Development/Committer.md b/docs/zh/Development/Committer.md
new file mode 100644
index 0000000..8769d25
--- /dev/null
+++ b/docs/zh/Development/Committer.md
@@ -0,0 +1,78 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, 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.
+
+-->
+
+# 成为Committer
+
+Apache IoTDB [Committer](https://www.apache.org/foundation/how-it-works.html#committers)可以对存储库进行写访问,以合并PR,但是您不必成为代码贡献者才能成为Committer。成为一个Committer意味着你获得了项目的信任。阅读[ASF文档](https://www.apache.org/dev/committers.html#committer-responsibilities) 以获取有关成为Apache Software Foundation中的提交者的更多信息。
+
+项目管理委员会 [PMC](https://www.apache.org/foundation/how-it-works.html#pmc-members) 通过提名、讨论、并投票(且多数人投赞成票)来将某人增选为Committer。我们会使用尽可能多的数据来源来解释为什么增选某人。例如:
+
+- IoTDB技术专家且是布道者(贡献文档、博客等)
+- 公开活动
+- PMC推荐
+
+对于想成为Committer的贡献者,PMC制定了以下的指导准则
+
+## Apache IoTDB Committer
+
+### 采取多种形式
+
+除了贡献代码之外,还有许多其他形式可以提高我们对贡献者的信任,例如代码审查,设计讨论,为其他用户提供支持,发展社区,改善IoTDB基础设施,文档,项目管理等。
+
+### 知道、支持并不断强化Apache Software Foundation的行为准则
+
+请参阅[ASF文档](https://www.apache.org/foundation/policies/conduct.html)。特别是,他们显然致力于:
+
+- 开放
+- 善解人意
+- 热情
+- 友善
+- 有耐心
+- 团队协作力强
+- 好奇心强
+- 注意言行
+
+### 知道、支持并不断强化作为Apache Software Foundation提交者的职责
+
+请参阅[ASF文档](https://www.apache.org/dev/committers.html#committer-responsibilities)。
+
+- 他们帮助创造的是一个产品,而不仅仅是某个贡献者的兴趣
+- 他们维护Apache社区的健康,并帮助社区成长
+- 他们帮忙做一些周边工作,例如维护网站、维护文档。
+- 他们帮助用户
+- 可以信任他们来决定何时准备发布代码,或何时需要别人一起做出判断。
+- 可以信任他们来决定何时合并代码(如果是代码贡献者),或何时需要别人一起做出判断。
+
+### 知道、支持并不断强化IoTDB社区的实践
+
+- 他们对项目有坚定的承诺
+- 他们与社区分享他们的想法
+- 他们接受社区反馈并将其整合到他们的计划,设计,代码等中。
+- 他们认真地尝试通过贡献使IoTDB更好
+- 特别是,如果代码贡献者:
+  - 他们认真尝试用自己的代码使IoTDB更好
+  - 他们认真地尝试通过代码审查使IoTDB更好
+  - 他们接受并整合有关其代码的反馈
+  - 他们在查看/合并代码(样式,文档,测试,向后兼容性等)时了解、遵守并不断优化IoTDB的最佳实践。
+
+
+
+这个指导文档修改于[Apache Beam](https://beam.apache.org/contribute/become-a-committer/)
\ No newline at end of file
diff --git a/docs/zh/Development/ContributeGuide.md b/docs/zh/Development/ContributeGuide.md
index e586d3d..cca9831 100644
--- a/docs/zh/Development/ContributeGuide.md
+++ b/docs/zh/Development/ContributeGuide.md
@@ -57,12 +57,14 @@ Wiki 文档管理:https://cwiki.apache.org/confluence/display/IOTDB/Home
 
 IoTDB 所有官网上的内容都在项目根目录的 docs 中:
 
-* docs/Documentation/SystemDesign: 系统设计文档-英文版
-* docs/Documentation-CHN/SystemDesign: 系统设计文档-中文版
-* docs/Documentation/UserGuide: 用户手册-英文版
-* docs/Documentation-CHN/UserGuide: 用户手册-中文版
-* docs/Community: 社区
-* docs/Development: 开发指南
+* docs/SystemDesign: 系统设计文档-英文版
+* docs/zh/SystemDesign: 系统设计文档-中文版
+* docs/UserGuide: 用户手册-英文版
+* docs/zh/UserGuide: 用户手册-中文版
+* docs/Community: 社区-英文版
+* docs/zh/Community: 社区-中文版
+* docs/Development: 开发指南-英文版
+* docs/zh/Development: 开发指南-中文版
 
 官网上的版本和分支的对应关系:
 
diff --git a/docs/zh/Development/HowToCommit.md b/docs/zh/Development/HowToCommit.md
new file mode 100644
index 0000000..ec0fa06
--- /dev/null
+++ b/docs/zh/Development/HowToCommit.md
@@ -0,0 +1,139 @@
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one
+    or more contributor license agreements.  See the NOTICE file
+    distributed with this work for additional information
+    regarding copyright ownership.  The ASF licenses this file
+    to you under the Apache License, Version 2.0 (the
+    "License"); you may not use this file except in compliance
+    with the License.  You may obtain a copy of the License at
+    
+        http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing,
+    software distributed under the License is distributed on an
+    "AS IS" BASIS, 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.
+
+-->
+
+# 代码提交指南
+
+## 贡献途径
+
+IoTDB诚邀广大开发者参与开源项目构建
+
+您可以查看[issues](https://issues.apache.org/jira/projects/IOTDB/issues)并参与解决,或者做其他改善。
+
+提交pr,通过Travis-CI测试和Sonar代码质量检测后,至少有一位以上Committer同意且代码无冲突,就可以合并了
+
+## PR指南
+
+在Github上面可以很方便地提交 [Pull Request (PR)](https://help.github.com/articles/about-pull-requests/),下面将以本网站项目[apache/incubator-iotdb](https://github.com/apache/incubator-iotdb) 为例(如果是其他项目,请替换项目名incubator-iotdb)
+
+### Fork仓库
+
+进入 apache/incubator-iotdb 的 [github 页面](https://github.com/apache/incubator-iotdb) ,点击右上角按钮 `Fork` 进行 Fork
+
+![](https://user-images.githubusercontent.com/37333508/79351839-bd288900-7f6b-11ea-8d12-feb18c35adad.png)
+
+### 配置git和提交修改
+
+- 将代码克隆到本地:
+
+```
+git clone https://github.com/<your_github_name>/incubator-iotdb.git
+```
+
+**请将 <your_github_name> 替换为您的github名字**
+
+clone完成后,origin会默认指向github上的远程fork地址。
+
+- 将 apache/incubator-iotdb 添加为本地仓库的远程分支 upstream:
+
+```
+cd  incubator-iotdb
+git remote add upstream https://github.com/apache/incubator-iotdb.git
+```
+
+- 检查远程仓库设置:
+
+```
+git remote -v
+origin https://github.com/<your_github_name>/incubator-iotdb.git (fetch)
+origin    https://github.com/<your_github_name>/incubator-iotdb.git(push)
+upstream  https://github.com/apache/incubator-iotdb.git (fetch)
+upstream  https://github.com/apache/incubator-iotdb.git (push)
+```
+
+- 新建分支以便在分支上做修改:(假设新建的分支名为fix)
+
+```
+git checkout -b fix
+```
+
+创建完成后可进行代码更改。
+
+- 提交代码到远程分支:(此处以fix分支为例)
+
+```
+git commit -a -m "<you_commit_message>"
+git push origin fix
+```
+
+更多 git 使用方法请访问:[git 使用](https://www.atlassian.com/git/tutorials/setting-up-a-repository),这里不赘述。
+
+### 创建PR
+
+在浏览器切换到自己的 github 仓库页面,切换分支到提交的分支 <your_branch_name> ,依次点击 `New pull request` 和 `Create pull request` 按钮进行创建,如果您解决的是[issues](https://issues.apache.org/jira/projects/IOTDB/issues),需要在开头加上[IOTDB-xxx],如下图所示:
+
+![](https://user-images.githubusercontent.com/37333508/79414865-5f815480-7fde-11ea-800c-47c7dbad7648.png)
+
+至此,您的PR创建完成,更多关于 PR 请阅读 [collaborating-with-issues-and-pull-requests](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/)
+
+### 冲突解决
+
+提交PR时的代码冲突一般是由于多人编辑同一个文件引起的,解决冲突主要通过以下步骤即可:
+
+1:切换至主分支
+
+```
+git checkout master
+```
+
+2:同步远端主分支至本地
+
+```
+git pull upstream master
+```
+
+3:切换回刚才的分支(假设分支名为fix)
+
+```
+git checkout fix
+```
+
+4:进行rebase
+
+```
+git rebase -i master
+```
+
+此时会弹出修改记录的文件,一般直接保存即可。然后会提示哪些文件出现了冲突,此时可打开冲突文件对冲突部分进行修改,将提示的所有冲突文件的冲突都解决后,执行
+
+```
+git add .
+git rebase --continue
+```
+
+依此往复,直至屏幕出现类似 *rebase successful* 字样即可,此时您可以进行往提交PR的分支进行更新:
+
+```
+git push -f origin fix
+```
+
+
+
+这个指导文档修改于[Apache ServiceComb](http://servicecomb.apache.org/developers/submit-codes/)
\ No newline at end of file
diff --git a/site/src/main/.vuepress/config.js b/site/src/main/.vuepress/config.js
index 8ca3505..5281b83 100644
--- a/site/src/main/.vuepress/config.js
+++ b/site/src/main/.vuepress/config.js
@@ -97,6 +97,8 @@ var config = {
 					text: 'Development',
 					items: [
 					  { text: 'How to vote', link: '/Development/VoteRelease'},
+					  { text: 'How to Commit', link: '/Development/HowToCommit'},
+					  { text: 'Become a Committer', link: '/Development/Committer'},
 					  { text: 'ContributeGuide', link: '/Development/ContributeGuide'},
 					  { text: 'Changelist of TsFile', link: '/Development/format-changelist'},
 					  { text: 'Changelist of RPC', link: '/Development/rpc-changelist'},
@@ -508,7 +510,9 @@ var config = {
 					text: '开发',
 					items: [
 					  { text: '如何投票', link: '/zh/Development/VoteRelease'},
-					  { text: '开发指南', link: '/zh/Development/ContributeGuide'},
+					  { text: '如何提交代码', link: '/Development/HowToCommit'},
+					  { text: '成为Committer', link: '/Development/Committer'},
+					  { text: '项目开发指南', link: '/zh/Development/ContributeGuide'},
 					  { text: 'TsFile的更改列表', link: '/zh/Development/format-changelist'},
 					  { text: 'RPC变更清单', link: '/zh/Development/rpc-changelist'},
 					]