Hi all,
As the activity on the project increases, I would like to suggest a few
housekeeping rules to ease the development.
I think we should try to avoid empty PRs like these ones:
-
https://github.com/OpenRefine/OpenRefine/pull/1322
-
https://github.com/OpenRefine/OpenRefine/pull/1318
-
https://github.com/OpenRefine/OpenRefine/pull/1315
- …
Pull requests exist so that people can make comments on the changes they
contain (before they are merged on master), so let's use this feature!
In many open source projects, the workflow looks like this:
- the developer pushes commits either to their own fork of the project
or a branch of the root repository. If they use their own fork, they
should also use a branch that isn't the default one (master). This is
just to ensure that they can work on multiple fronts: if, while they are
working on a big feature, they discover an unrelated bug that should
urgently be fixed, they can easily create a separate branch and submit
an independent PR for that.
- the developer submits a PR to merge from the feature branch to master
- the users and other devs test the features *before the changes are
merged in master* by checking out the appropriate branch. If the changes
are in a branch of the root repository, this is very simple: just do
"git pull ; git checkout my_awesome_branch" and try the changes.
- the continuous integration services provide feedback on the PR that
can also be used to improve the PR
- once everybody is happy with the new feature or the bug fix, the PR is
merged, ideally not by the author of the PR
This ensures that the master branch will always be in a clean state.
Any thoughts?
Antonin