Hi all,

Recently I found there are some problems existing in the commit process of
IoTDB and it's getting worse.

Let's see the actual situation directly. (The screenshots are just
examples, there is no offence.)

First,

It's necessary to create an issue and pull a request for each commit. Maybe
some commits are simple enough to ignore an issue, like doc modification,
but *it's still important to pull a request and have a review*. We should
try our best to *avoid pushing to the repository directly.* The following
is a good example:

[image: QQ截图20201230161050.png]

Secondly,
We don't have enough information for each commit now.

Let's see the git log of HBase, thanks to the help of @Yuqi. :D

[image: image.png]

*In each commit, *
*1. the issue number*
*2. the summarization of commit*
*3. the PR number *
*4. the PR reviewers  are included.*
It's a very standard process I think. It's great if we can use it for
reference.

The following are some bad examples of ours:

[image: image (1).png]
[image: image (2).png]
[image: image (3).png]

Since the contributors don't have write privilege, *so all people who have
the privilege to merge pull requests should be aware of this. Be great, be
standard.*


*Thirdly, Do not force-push a commit if someone has reviewed your code.*
It's a large workload to review a PR if it involves many files. And if you
force-push a commit, which means the reviewers have to check all modified
files again. Maybe you just want to reduce the number of your local
commits, but it's still not a good habit.

*Fourthly, Use squash merge.*
It's related to topic 3. Since each pull request may involve many commits
the author commits, it's better to squash it as one commit when merging it
into master.


We are a young project indeed. Let's make our efforts to make it better. If
you have any advice, please leave your opinion. :D

-- 
Best,
Xiangwei Wei

Reply via email to