Pull request based workflow
Created originally on Bitbucket by avmo (Ashwin Vishnu)
Hi all fluidsim-devs
I would like to float the possibility of a pull request based workflow. This if accepted would mean that developers should push commits only via pull-requests. The advantages would include
- A stable "master" bookmark (I avoid the terminology "branch", since we use mercurial).
- Code review is possible, when it is required, so potentially less bugs
- Less noise in codes
- Less merge conflicts
- Most importantly, allows other developers to catch up with the changes
People who are familiar with Pythran's development might be familiar with this approach. This is possible in mercurial also through the use multiple heads and bookmarks, and I would like to see whether it is feasible.
One last thing - even if the proposal is rejected, all developers should definitely avoid a commit where you make a merge and apply the code-style tool black in the same commit.
Update ~3 week since
Advantages
- Allows to facilitate better features and bug fixes through code review.
- Easier to produce changelog towards during release(?)
hg log --style changelog | grep "pull request" -A2
Disadvantages
- Inability to update bookmarks - awaiting reply from bitbucket support.
- (partial) Hard to initialize PR from terminal specifying bookmarks.
bitbucket / bb
command influiddevops
allows initiating PR from the repository tip atleast from command line.
bitbucket pull_request --fork gfdyn --owner fluiddyn --title "title of PR" --desc "description of PR"
# or in short
bb pull_request -f gfdyn -w fluiddyn -t "title of PR" -d "description of PR"