I have created a chain of stacked Pull Requests using my private fork
(eolivelli/bookkeeper)

https://github.com/eolivelli/bookkeeper/pulls

https://github.com/eolivelli/bookkeeper/pull/2 part 1
https://github.com/eolivelli/bookkeeper/pull/3 part 2
https://github.com/eolivelli/bookkeeper/pull/4 part 3

Each Pull Request is against the previous one:

Pros:
- this makes it very simple to handle diffs visually and so to comment on
specific changes
- when I change a line in PR1, simply I use "merge" (git checkout
PR2-branch, git merge PR1-branch, git checkout PR3-branch, git merge
PR3-branch)

Cons:
- the conversation will be hosted entirely on my GitHub fork, non on the
Apache one


The alternative approach is to have separate Pull Requests on Apache repo,
like these

https://github.com/apache/bookkeeper/pull/642
https://github.com/apache/bookkeeper/pull/643

Pros:
- the conversation is on Apache stuff

Cons:
- the developer (me in this case) has to fix all the commits and perform
clean up in order to port changes in downstream pull requests to upstream
once



I hope we can find a good way of working on this kind on "huge changes" and
let "reviewers" and "contributors" do their work without wasting precious
time

As a contributor in this case I prefer approach 1), because life is really
easy, maybe I am not a git guru and there is a better way to handle
approach 2)

There is a 1 and 1/2 approach, that is to do 1) but with branches on Apache
repo, but Ivan suggested to use private forks (and I agree with Ivan)

Thank you all (expecially Sijie and Ivan) for you help and support, I do
not want to waste reviewers' time, It takes time and patience to "really"
review code

Thoughts ?

Enrico




2017-10-18 17:38 GMT+02:00 Ivan Kelly <iv...@apache.org>:

> For branching, I would create the on your own personal fork.
>
> -Ivan
>
> On Wed, Oct 18, 2017 at 8:37 AM, Ivan Kelly <iv...@apache.org> wrote:
> > I had a quick look, I'll get to reviewing today (in bay area this
> > week, so day is just starting), but looks great.
> >
> > -Ivan
> >
> > On Wed, Oct 18, 2017 at 8:31 AM, Enrico Olivelli <eolive...@gmail.com>
> wrote:
> >> Hi,
> >> I am trying to split the patch for BP-14 in multiple pieces
> >>
> >> This is the umbrella issue, I will link here all the Pull Requests
> >> https://github.com/apache/bookkeeper/issues/471
> >>
> >> I am actually in work-in-progress, I have covered metadata and client
> side
> >> changes with the first 2 PRs.
> >>
> >> It will take some more days to create all of the PRs.
> >>
> >> In order to make it simpler to create stacked PRs it would be better to
> >> create branches and PRs not against the master but every PR is to be
> sent
> >> against the previous one in the list, see [1] as Ivan suggested.
> >>
> >> I wounder if it would be better to use my own github repo or to create
> >> branches on Apache repo.
> >> I see many projects are using branches directly on apache repository,
> for
> >> instance Apache Maven.
> >> I am not a fan of this because it would lead to some kind of pollution
> in
> >> the primary repo.
> >>
> >> I will try to set up the whole thing in my repo and come back maybe
> with a
> >> better approach.
> >>
> >> For me it is a real experiment I hope I am not creating too much noise
> >>
> >> Cheers
> >> Enrico
> >>
> >> [1]
> >> https://graysonkoonce.com/stacked-pull-requests-keeping-
> github-diffs-small/
>

Reply via email to